JavaScript-js进行form提交的问题?

JavaScript-js进行form提交的问题?

偏爱自由 发布于 2017-05-25 字数 123 浏览 1187 回复 8

表单中有这么个input:

<input type="text" name="submit" />

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

浮生未歇 2017-10-10 8 楼

给你的form加个name=“my_form”后把form.submit()替换成:

 document.createElement('form').submit.apply(document.forms.my_form);

清晨说ぺ晚安 2017-10-07 7 楼

正确的应该是<input type="submit" name="text" /> 这样吧

瑾兮 2017-09-27 6 楼

form.submit返回的是那个HtmlInputElement,所以你不可以执行它。
这个submit方法其实是存在于form的prototype中的,你可以用它的prototype的submit方法。

function formSub(form) {
alert('You Submit');
HTMLFormElement.prototype.submit.call(form);
}

清晨说ぺ晚安 2017-08-28 5 楼

<script type="text/javascript">
function formSub()
{
alert('You Submit');
document.searchform.submit();

}
</script>
<form action="search.php" method="GET" name="searchform">
<div>
<p><input type="text" name="submit1" /></p>
<p><input type="button" value="Search" onclick="formSub()" /></p>
</div>
</form>

注意: submit 是关键字 不要用于设置成name

归属感 2017-08-19 4 楼

如果你只是想提交表单的话,可以这样写:
document.forms[0].submit();
另外,命名的话,尽量少用这种有歧义的名称

瑾兮 2017-08-19 3 楼

在form.submit()之前 append
<input type="hidden" name="dosomething" />

然后在后台$_post['dosomething'] 即可代替

灵芸 2017-08-12 2 楼

正确格式:<input type="submit" value="提交"/>
表单元素:<input type="text" name="11"/>
提交应该用<input type="submit" value="提交"/> submit事件

甜柠檬 2017-05-29 1 楼

我说下原因吧, js中可以直接用元素的name来获取这个对象,
例如: form.test , form.submit 分别是指form中name为test的元素以及submit的元素。

所以当表单中出现 name="submit" 的时候 ,form.submit(); 获取的是name为submit的元素,但是加了括号来执行他,所以会报一个form.submit 不是function的错误。

知道这个解决方法就太多了。。

我这里给出一个不改名的情况下解决的方法:

function formSub(form) {
alert('You Submit');
document.createElement('form').submit.call(form);
}