Jquery,获取input type="file"字段的值

4

请问以下代码是否存在问题?我尝试获取一个input type="file"表单标签的值,但弹出框一直告诉我这个值为空。

$('#submitForm').bind("click",function(){ 

     var imgVal = $('#imageUpload').val(); 
 alert(imgVal);             
 return false;
});

<input name="imageUpload" id="imageUpload" type="file" value="" class="text"/>
<input name="submit" type="submit" id="submitForm" value="Submit Photo" />

感谢您的预先帮助。
詹姆斯

抱歉打扰大家。事实证明,我给我的表单和输入字段分配了相同的ID。谢谢。 - twsJames
要么自己发布答案,要么按问题下面的删除链接。 - BalusC
5个回答

2

对我来说可行。

查看工作的 jsFiddle 演示

$('#submitForm').bind("click",function() { 

    var imgVal = $('#imageUpload').val(); 
    alert(imgVal);             
    return false;

});

2
这应该适用于任何浏览器。
$('#imageUpload').attr('value')

2

你也可以这样做: var imgVal = document.getElementById("imageUpload"); 然后获取值的方法可以像这样: alert(imgVal.value);

需要记住的是,许多浏览器会提供文件,但它们会隐藏实际路径并显示类似于以下内容的内容: C:/fakepath/filename.extension


0

当任何用户选择文件时,要在jQuery中检测文件元素值是否更改

将此代码放入jQuery文件中

$(document).ready(function()
{
 //$("#upload").attr("disabled","true");
 $("#upload").attr("disabled","disabled");
 
 $("#file").change(function()
 {
  //alert("someting change");
  //value =  $(this).val();//get fake path of file
  //alert(value);
  $("#upload").removeAttr("disabled"); //enabling upload button
  
  
 });
 
});

当用户选择文件后,文件类型按钮将被启用,而表单中的上传按钮将被禁用。一旦用户选择文件,其值将更改并启用上传按钮,这意味着我们可以提交表单。

-2

您可以使用

$('#imageUpload').value

不正确的,这将输出 undefined。由于您正在使用 jQuery 查询元素,因此您需要使用 .val() 而不是 .value。如果您确实想要使用 jQuery(例如在选择元素并在获取值之前通过链接执行其他操作),则可以以 [0].value 结尾。 - gdibble

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接