Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未检测到图像输入类型_Javascript_Jquery_Html_Ajax_Forms - Fatal编程技术网

Javascript 未检测到图像输入类型

Javascript 未检测到图像输入类型,javascript,jquery,html,ajax,forms,Javascript,Jquery,Html,Ajax,Forms,我正在尝试使用图像输入类型提交表单。ajax请求执行得很好,我从php脚本中得到了响应。我的问题是,我希望图像按钮在提交时更改其图像(但它没有这样做)。firebug控制台说form.pic未定义,图像未更新。你知道为什么吗 javascript/jquery function new_user(form){ var url = "attendance.php"; var dataString = "status="+form.astatus.value; dataS

我正在尝试使用图像输入类型提交表单。ajax请求执行得很好,我从php脚本中得到了响应。我的问题是,我希望图像按钮在提交时更改其图像(但它没有这样做)。firebug控制台说form.pic未定义,图像未更新。你知道为什么吗

javascript/jquery

function new_user(form){

    var url = "attendance.php";

    var dataString = "status="+form.astatus.value;
    dataString = dataString+"&id="+form.mark_attend.value;
    $.ajax({  
type: "POST",  
url: url, 
data: dataString,  
success: function(data) {
form.pic.src = data; //Error here
},
error: function(jqXHR, textStatus, errorThrown){ console.error("error: " + textStatus, errorThrown);}
});

return false;
}
HTML

<form method="POST" onSubmit="return new_user(this);" >
<input type="hidden" value="attended" name="astatus" />
<input type="hidden" value="idKey" name="mark_attend" />
<input type="image" src="greencheck.png" name="pic" />
</form>


考虑到您正在使用jQuery,我认为这是最干净的方法。

非常好!这让我的问题解决了一半。单击时图像正在更改,但我可能应该提供更多信息。我提交的表格中是否可以只引用“pic”?我有多个相同的表单,这些表单会被php脚本响应出来。例如,
form.pic
?@dmkumar我已经更新了我的答案。如果您正在动态创建表单,并且无法手动为其分配id,请告诉我。没有理由需要id!Yikes
$(表单)。找到…
非常好,谢谢你们@epascarello我从来没有说过这是必要的,但是如果他可以为他的表单分配一个id,这比将所述表单作为参数传递要好。输入类型图像不是表单元素集合的一部分,因此它不起作用。因为您使用的是jQuery
$(form).find('input[name=“pic”]”)。prop(“src”,data)非常好,成功了!
$(form).find('input[name="pic"]').attr('src', data);