JavaScript 提交表单,不包括字段

13 浏览
0 Comments

JavaScript 提交表单,不包括字段

我有一个简单的HTML表单:

我需要使用JavaScript提交它,但我希望在请求中排除dontSubmitThisField字段。有没有不使用Ajax的方法来实现这一点?

0
0 Comments

问题出现的原因是需要在提交表单时排除某些字段,但是没有找到合适的方法来实现这个目标。

解决方法是将字段的form属性设置为一个不同的表单,这样它就不会被提交。具体做法是在input标签中添加form="nosubmit"属性。

以下是实现该解决方法的代码示例:

在上面的示例中,第一个input标签的form属性被设置为"nosubmit",所以它属于"nosubmit"表单,而不是"form1"表单。当我们提交"form1"表单时,只有field1会被提交,field2不会被提交。

这种方法可能不适用于所有情况,但对于某些特定的需求来说是一个聪明的解决方案。希望这个方法对你有帮助!

0
0 Comments

问题的原因是,禁用的字段或没有name属性的字段不会被提交。然而,如果你想为字段命名,但又不想事先禁用它们,你可以拦截所有的表单提交,并禁用所有带有data-no-submit属性的字段。

解决方法是使用JavaScript代码来拦截表单提交事件,并禁用所有带有data-no-submit属性的字段。代码如下:

document.addEventListener('submit', function (e) {
    if (!e.defaultPrevented) {
        [].forEach.call(e.target.querySelectorAll('[data-no-submit]'), function (field) {
            field.disabled = true;
        });
    }
});

这样,你只需要在需要禁用的字段中添加data-no-submit属性即可,例如:

<input type="text" name="dontSubmitThisField" data-no-submit>

0
0 Comments

JavaScript submit form excluding fields

问题的出现的原因:

有时候我们在提交表单时,希望排除某些字段,不将它们的值包含在提交的数据中。然而,默认情况下,表单提交会包含所有字段的值,这可能会导致一些问题,比如服务器端处理不必要的字段,或者传输过多的数据。

解决方法:

一种解决方法是禁用不需要提交的字段,这样它们就不会包含在提交的数据中。有两种方式可以实现禁用字段的操作。

第一种方式是通过HTML来禁用字段。如果该字段由用户无法更新,可以在HTML中添加disabled属性来禁用它。示例代码如下:


在这个例子中,name为"dontSubmitThisField"的字段被设置为disabled,用户将无法更新或提交该字段的值。

第二种方式是使用jQuery,在提交事件中禁用字段。通过监听表单的submit事件,并在事件处理程序中禁用特定的字段。示例代码如下:

$('#myForm').submit(function(){
    $('input[name="dontSubmitThisField"]').prop('disabled', true);
});

在这个例子中,当表单的submit事件被触发时,会将name为"dontSubmitThisField"的字段的disabled属性设置为true,从而禁用该字段。

通过以上两种方式,我们可以在提交表单时排除不需要的字段,避免不必要的数据传输和处理。

0