我正在尝试使用JS提交表单,但没有运气。 Here is the code. JSFIDDLE
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
function validate () {
alert('start');
$('#myform').submit();
alert('end');
}
</script>
</head>
<body>
<form id="myform" name="myform" method="post" action="">
<input type="button" value="submit" id="submit" onclick="validate();" >
</form>
</body>
</html>
问题是“为什么它不起作用?”。
答案 0 :(得分:10)
您有一个标识为submit
的表单元素与表单方法submit
冲突,请将提交按钮ID更改为其他内容。
你可以访问表单元素作为表单对象的属性,所以如果你有一个表单说myForm和一个带有id或name的表单中的输入,那么myForm.submit将是id提交的输入元素而不是原始的提交方法。
答案 1 :(得分:3)
控制台中的错误是
Uncaught TypeError: Property 'submit' of object #<HTMLFormElement> is not a function
问题是您通过命名元素提交来劫持sumit()函数。将按钮的ID更改为btnSubmit。
答案 2 :(得分:1)
我已使用解决方案修改您的代码。
缺少提交按钮的名称。并且不要使用名称作为提交的“提交”。它与JS发生冲突。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function validate () {
document.myform.submit();
}
</script>
</head>
<body>
<form id="myform" name="myform" method="post" action="">
<input type="button" name="save" value="submit" id="submit" onclick="validate();" >
</form>
</body>
</html>
答案 3 :(得分:0)
如果这是您编写的确切代码,那么我认为您已经在页面中包含了jQuery库。
您需要先包含jQuery文件,然后才能使用$("#myform")
表示法。
还要指定要将页面提交到的某个操作URL吗?
答案 4 :(得分:-1)
您使用jQuery代码($
函数),但不包含jQuery源代码。