如何禁用某些提交按钮的表单验证

How to disable form validation for some submit button?

本文关键字:表单 验证 按钮 提交 何禁用      更新时间:2023-09-26

在我的jsp表单页面中,我有两个提交按钮"Save"answers"Cancel"。当我单击两个按钮时,它验证表单。我试图把关键字"formnovalidate"取消按钮。但是这行不通。

这里我提到了我的按钮代码:

<form id = "myForm" method="POST" onsubmit="return validateForm()" >
..........
<tr >
<td class="td_left"><input type="submit" value="save" onclick="form.action='${pageContext.servletContext.contextPath}/insert'"/></td>
<td class="td_right"><input type="submit" value="Cancel" onclick="form.action='${pageContext.servletContext.contextPath}/home'" formnovalidate  /></td>
</tr>
................
</form>

验证:

function validateForm() {
var x = document.forms["myForm"]["spcrId"].value;
if (x == null || x == "") {
    alert("SPCR ID must be filled out");
    return false;
}
}

如何禁用"取消"按钮的表单验证?

我认为这个问题是因为您在表单的onsubmit属性上放置了一个验证调用。因此,像这样的代码不需要onsubmit属性也可以工作:

<button name="action" class="btn btn-secondary" type="submit" value="Previous" formnovalidate="formnovalidate">Previous</button>

你必须使用

来代替type =" submit"
 <input type="button" value="Cancel" />

或者

<button type="cancel" onclick="window.location='http://your.com';return
false;">Cancel</button>

试试这个:

<input type="submit" value="Cancel" onclick="this.form.setAttribute('novalidate', 'novalidate'); form.action='${pageContext.servletContext.contextPath}/home'"  />

通过在click事件上设置表单的novalidate属性,您可以绕过仅针对该按钮的验证。

try this

var myFormVar = document.myForm.FieldName.value;
if ((myFormVar == "") ) {
   document.myForm.FieldName.value = ''; 
   document.myForm.FieldName.focus();
   alert ("alert here");
   return;
}

您可以使用:-

  `<button type="button"></button>`