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