`

document.form.submit() is not a function

阅读更多
转载http://www.baifeng.me/web/tech/2009/11/1178/

在最近的开发过程中,我遇到了一个很奇怪的问题,就是在利用Javascript控制表单提交时,浏览器提示document.genForm.submit is not a function。genForm是表单<form>的name,并且使用同样函数的另一个表单却执行正常,查找了半天也没有发现两个有什么不同,后来在网上搜索了一番,结果找到了原因。

当表单<form>…</form>中含有name=”submit”时,提交时就会有冲突,这个错误常见于按钮上,如:

在Javascript做submit()的时候就会出现冲突,这时将name=”submit”改成别的比如login之类的就可以了,反正submit在这个情况下是个保留关键字。

而我并没有这样写,而是在表单的输入框中使用了<input name=”submit” type=”text” />,这样也是不行的。

所以在我们编写代码时,为了确保万无一失,变量和函数命名除了要回避系统和语言明确规定的保留关键字以外,还应该尽量避免使用那些如submit这种HTML以及其他标记中的关键字,否则说不定在什么地方就会有冲突,查找起来也会很麻烦。业界广泛采用的办法就是骆驼式和前缀式,就是在变量名之前加上自己姓名的首拼缩写,如bf_varname,以及使用变量名单词首字母大写等,尤其是在团队开发时,是很有必要的,不仅有助于程序员之间的理解,避免冲突,还可以找到相关的负责人。
分享到:
评论

相关推荐

    解决jquery submit()提交表单提示:f[s] is not a function

    有时会遇到这样一个问题:当你尝试使用`submit()`函数来提交表单时,浏览器会抛出一个错误:“f[s] is not a function”或“document.getElementByIdx_x(...).submit is not a function”。这个问题通常出现在表单...

    HTMl验证码登陆验证

    function checkinput() { if (document.form1.u.value=="") { ..."); document.form1.u.focus(); ... if (document.form1.p.value=="") ... document.form1.p.focus();... if (document.form1.... document.form1.submit();

    jquery.form.js

    $(document).ready(function() { $('#myForm').ajaxForm({ beforeSubmit: function(arr, $form, options) { // 在表单提交前进行验证或其他操作 }, success: function(responseText, statusText, xhr, $form) {...

    jquery文件上传js:jquery.form.js

    $(document).ready(function() { $('#myForm').ajaxForm({ beforeSubmit: function() { // 提交前的处理 }, success: function(response) { // 上传成功后的处理,response是服务器返回的数据 }, error: ...

    使用jQuery.form插件,实现完美的表单异步提交

    $(document).ready(function() { $('#myForm').ajaxSubmit({ type: 'POST', // 可以设置请求类型,默认为POST url: '/submit', // 表单提交的URL,可以覆盖HTML表单中的action属性 dataType: 'json', // 设置...

    form.submit()不能提交表单的原因分析

    `form.submit()` 是JavaScript中用于触发表单提交的一个方法,但有时这个方法可能无法正常工作,就像在标题和描述中提到的问题。本文将深入探讨这个问题,分析其可能的原因,并提供解决方案。 首先,我们来看一个...

    Jquery表单验证(采用poshytip提示)

    $(document).ready(function() { $('#myForm').submit(function(e) { e.preventDefault(); var email = $('input[name="email"]').val(); if (!/^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/.test(email)) { $('input...

    Asp.Net MVC中jquery.form附件上传例子

    $(document).ready(function () { $('#fileInput').on('change', function () { var options = { url: '@Url.Action("Upload", "Home")', type: 'POST', dataType: 'json', clearForm: true, resetForm: true...

    jquery.form中文API

    $('#myFormId').submit(function() { $(this).ajaxSubmit(); return false; // 阻止普通表单提交和页面刷新 }); ``` 3. **formSerialize**: - 此方法将整个表单序列化为一个查询字符串,如`name1=value1&...

    浅析一个表单多个Submit按钮的简单实现方法

    document.getElementById('myForm').addEventListener('submit', function(event) { var action = event.target.querySelector('input[type=submit]:checked').name; if (action === 'action1') { // 执行提交1的...

    JavaScript在form表单中使用button按钮实现submit提交方法

     在form表单提交中,使用button来间接完成submit的提交更为灵活。下面是实现方法: 使用button按钮实现submit提交,需要在button标签中的使用onclick方法,然后在JavaScript中实现具体,代码如下: &lt;head&gt; ...

    dominator:一个用于轻松访问 DOM 元素的小型 js 实用程序(不再是 document.getElementById!)

    onload = function ( ) { formNode = document . getElementById ( 'form' ) ; submitButtonNode = document . getElementById ( 'submit' ) ; nameInputNode = document . getElementById ( 'name' ) ; ...

    表单验证大全

    从给定的信息来看,本文主要涉及的是Web表单验证... if (document.a.b.value.length &gt; 50) { alert("不能超过50个字符!"); document.a.b.focus(); return false; } } &lt;form name="a" onsubmit="return test()"&gt; ...

    jquery.Mulltifile.js和jquery.form.js无刷新上传多个文件

    $(document).ready(function() { $('#myForm').ajaxForm({ success: function(response) { // 处理上传成功的回调 }, error: function(xhr, status, error) { // 处理上传失败的回调 } }); }); ``` ...

    js form action动态修改方法

    ddd=”+str document.formName.submit(); 写成函数式的调用就是 代码如下:[removed] function checkaction(v){ if(v==0){ document.dbform.action=”index.php?admin_db-repair”; }else{ document.dbform.action=”...

    jquery.form.zip

    $(document).ready(function() { $('#myForm').ajaxForm({ beforeSubmit: function() { // 提交前的处理 }, success: function(response) { // 提交成功后的处理 }, error: function(xhr, status, error) { ...

    使用FormValidation进行表单验证

    $(document).ready(function() { $('#myForm').formValidation({ framework: 'bootstrap', fields: { email: { validators: { emailAddress: {} } } } }); }); ``` 以上代码中,`framework: 'bootstrap'`...

    document.forms用法示例介绍

    var thisForm = document.forms['form1']; console.info(thisForm.username.value); console.info(thisForm.address.value); document.forms[0].submit(); }); ``` 这段代码在页面加载完成后执行。首先,它通过...

    防止重复提交

    `my_submit`函数首先调用`document.form1.submit()`,这会触发表单的提交。接着,`document.form1.submit1.disabled=true;`这行代码将提交按钮设置为禁用状态,阻止了用户再次点击。 这种方法虽然简单,但存在一定...

Global site tag (gtag.js) - Google Analytics