工作中发现表单提交方便的问题,很多时候IE下提交好好的,打了火狐下就出现了问题,利用提交按钮就不成功了,于是利用JS的方式就成功了,也不知道为什么。在导师的催促下就总结出以下的几种常用表单提交的方法。
第一种方式:表单提交,在form标签中增加onsubmit事件来判断表单提交是否成功
<scripttype="text/javascript">
functionvalidate(obj) {
if(confirm("提交表单?")) {
alert(obj.value);
returntrue;
}else {
alert(obj.value);
returnfalse;
}
}
</script>
<body>
<formaction="http://www.baidu.com" onsubmit="returnvalidate(document.getElementByIdx_x('myText'));"><!—参数的这种写法注意下-->
<inputtype="text" id="myText"/>
<inputtype="submit" value="submit"/>
</form>
</body>
第二种方式:通过button按钮来触发表单提交事件onclick="submitForm();",会忽略掉其他标签中的属性,比如form标签中的onsubmit属性就失效了。这时为了进行表单验证,可以将验证代码放在submitForm();方法中进行验证。
<scripttype="text/javascript">
functionvalidate() {
if(confirm("提交表单?")) {
returntrue;
}else {
returnfalse;
}
}
functionsubmitForm() {
if(validate()) {
document.getElementByIdx_x("myForm").submit();
}
}
</script>
<body>
<formaction="http://www.baidu.com"id="myForm">
<inputtype="text"/>
<inputtype="button" value="submitBtn"onclick="submitForm();"/><!—也可以使用document.getElementByIdx_x(“该按钮的id”).click();来执行onclick事件-->
</form>
</body>
第三种方式:将onsubmit事件放在submit标签中,而不是form标签中,此时表单验证失效,点击提交按钮表单直接提交
<scripttype="text/javascript">
functionvalidate() {
if(confirm("提交表单?")) {
returntrue;
}else {
returnfalse;
}
}
</script>
<body>
<formaction="http://www.baidu.com">
<inputtype="text"/>
<inputtype="submit" value="submit" onsubmit="returnvalidate()"/>
</form>
</body>
第四种方式:为submit按钮添加上onclick事件,其中该事件用于表单提交的验证,功能类似于在form标签中增加了onsubmit事件一样
<scripttype="text/javascript">
functionvalidate() {
if(confirm("提交表单?")) {
returntrue;
}else {
returnfalse;
}
}
</script>
<body>
<formaction="http://www.baidu.com">
<inputtype="text"/>
<inputtype="submit" value="submit" onclick="returnvalidate()"/>
</form>
</body>
第五种方式:
<body>
<form action="http://www.baidu.com"id="myForm">
<input type="text"/>
<input type="button" value="submitBtn"id="myBtn"/>
</form>
</body>
<script type="text/javascript">
function validate() {
if (confirm("提交表单?")) {
return true;
} else {
return false;
}
}
通过button按钮来触发表单提交事件onclick="submitForm();",会忽略掉其他标签中的属性,比如form标签中的onsubmit属性就失效了。这时为了进行表单验证,可以将验证代码放在submitForm();方法中进行验证
function submitForm() {
if (validate()) {
document.getElementByIdx_x("myForm").submit();
}
}
document.getElementByIdx_x("myBtn").onclick = submitForm;
</script>