2015-08-26 83 views
0

在我的jsp表单页面中,我有两个提交按钮“保存”和“取消”。当我点击这两个按钮时,它会验证表单。我试图把关键字“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; 
} 
} 

什么是禁用的表单验证了 “取消” 按钮的方式吗?

+0

一种形式不应该有两个提交按钮。您需要在JavaScript中设置条件语句来根据单击的元素进行验证。但是,实际上,您的取消按钮应该被重构为一个简单的链接,将您引导到'/ home'/URL。 – Ohgodwhy

+0

你使用什么验证? – Manwal

+0

@Manwal更新了问题。 – Madhusudan

回答

0

相反类型= “提交” 你必须使用

<input type="button" value="Cancel" /> 

,或者您可以使用

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

''会是更好的选择。 – Jai

+1

重置用于清除表单内容。 – Sumanta736

+0

是的,如果有两个按钮的表单提交,则必须重新设置第二个按钮。我不明白什么是使用取消,如果只是为了导航到主页,然后type ='reset'和type ='button'都可以使用。我猜。 – Jai

0

试试这个

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

请考虑编辑您的帖子,以添加关于您的代码的功能以及为什么它可以解决问题的更多说明。一个主要包含代码的答案(即使它正在工作)通常不会帮助OP了解他们的问题。如果这只是猜测,也建议您不要发布答案。一个好的答案会有一个合理的理由解释为什么它可以解决OP的问题。 – SuperBiasedMan