我希望在点击span id="ToolBarDownload"
时提交表单,但似乎未提交form id="myformID"
。怎么了?我的代码有意义吗?谢谢!
顺便说一下,文字id="ToolBarDownload"
不在表格之内。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="js/jquery1.10.2.min.js?isassets=1" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#ToolBarDownload").click(function() {
if (confirm('Do you want to Download')) {
$("#myformID").commit();
}
});
$("#myformID").submit(function(eventObj) {
$('<input />').attr('type', 'hidden').attr('name', "myCw").attr('value', "mydata").appendTo('#myformID');
return true;
});
});
</script>
</head>
<body>
<div id="container">
<form action='' method='post' enctype='multipart/form-data' id="myformID"></form>
<span id="ToolBarDownload" class="ToolBarButton" style="margin-left:5px">Download</span>
</div>
</body>
</html>
答案 0 :(得分:1)
jQuery中没有commit()
方法。要提交表单,请使用submit()
:
$("#ToolBarDownload").click(function(){
if (confirm('Do you want to Download')) {
$("#myformID").submit();
}
});
另请注意,在submit()
处理程序中,您可以为attr()
方法提供一个对象,以便只进行一次更改多个属性的调用。 return true
也是多余的,可以删除:
$("#myformID").submit(function() {
$('<input />').attr({
type: 'hidden',
name: 'myCw',
value: 'mydata'
}).appendTo('#myformID');
});