工作中發(fā)現(xiàn)表單提交方便的問題,很多時(shí)候IE下提交好好的,打了火狐下就出現(xiàn)了問題,利用提交按鈕就不成功了,于是利用JS的方式就成功了,也不知道為什么。在導(dǎo)師的催促下就總結(jié)出以下的幾種常用表單提交的方法。
第一種方式:表單提交,在form標(biāo)簽中增加onsubmit事件來判斷表單提交是否成功
<script type="text/javascript">
function validate(obj) {
if (confirm("提交表單?")) {
alert(obj.value);
return true;
} else {
alert(obj.value);
return false;
}
}
</script>
<body>
<form action="http://www.baidu.com" onsubmit="return validate(document.getElementByIdx_x('myText'));"> <!—參數(shù)的這種寫法注意下-->
<input type="text" id="myText"/>
<input type="submit" value="submit"/>
</form>
</body>
第二種方式:通過button按鈕來觸發(fā)表單提交事件onclick="submitForm();",會(huì)忽略掉其他標(biāo)簽中的屬性,比如form標(biāo)簽中的onsubmit屬性就失效了。這時(shí)為了進(jìn)行表單驗(yàn)證,可以將驗(yàn)證代碼放在submitForm();方法中進(jìn)行驗(yàn)證。
<script type="text/javascript">
function validate() {
if (confirm("提交表單?")) {
return true;
} else {
return false;
}
}
function submitForm() {
if (validate()) {
document.getElementByIdx_x("myForm").submit();
}
}
</script>
<body>
<form action="http://www.baidu.com" id="myForm">
<input type="text"/>
<input type="button" value="submitBtn" onclick="submitForm();"/> <!—也可以使用document.getElementByIdx_x(“該按鈕的id”).click();來執(zhí)行onclick事件-->
</form>
</body>
第三種方式:將onsubmit事件放在submit標(biāo)簽中,而不是form標(biāo)簽中,此時(shí)表單驗(yàn)證失效,點(diǎn)擊提交按鈕表單直接提交
<script type="text/javascript">
function validate() {
if (confirm("提交表單?")) {
return true;
} else {
return false;
}
}
</script>
<body>
<form action="http://www.baidu.com">
<input type="text"/>
<input type="submit" value="submit" onsubmit="return validate()"/>
</form>
</body>
第四種方式:為submit按鈕添加上onclick事件,其中該事件用于表單提交的驗(yàn)證,功能類似于在form標(biāo)簽中增加了onsubmit事件一樣
<script type="text/javascript">
function validate() {
if (confirm("提交表單?")) {
return true;
} else {
return false;
}
}
</script>
<body>
<form action="http://www.baidu.com">
<input type="text"/>
<input type="submit" value="submit" onclick="return validate()"/>
</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按鈕來觸發(fā)表單提交事件onclick="submitForm();",會(huì)忽略掉其他標(biāo)簽中的屬性,比如form標(biāo)簽中的onsubmit屬性就失效了。這時(shí)為了進(jìn)行表單驗(yàn)證,可以將驗(yàn)證代碼放在submitForm();方法中進(jìn)行驗(yàn)證
function submitForm() {
if (validate()) {
document.getElementByIdx_x("myForm").submit();
}
}
document.getElementByIdx_x("myBtn").onclick = submitForm;
</script>