document.form.action,表單分向提交,javascript提交表單
同一個表單可以根據(jù)用戶的選擇,提交給不同的后臺處理程序。即,表單的分向提交。如,在編寫論壇程序時,如果我們希望實現(xiàn)用戶在發(fā)送貼子的時候,既發(fā)送提交功能又有預(yù)覽功能時,就會遇到上述問題。即,當用戶點擊提交按鈕時,我們希望表單提交給"提交"處理程序;而當用戶點擊預(yù)覽按鈕時,我們希望表單提交給"預(yù)覽"處理程序。那么,如何實現(xiàn)上述功能呢?下面代碼可以很好的解決這個問題。
<form name="form" method="post">
測試表單:<input name="test"><br>
<input type="button" value="提交" onClick=send()>
<input type="button" value="預(yù)覽" onClick=preview()>
</form>
<script language=javascript>
function send()
{
document.form.action="send.asp"
document.form.submit()
}
function preview()
{
document.form.action="preview.asp"
document.form.submit()
}
</script>
關(guān)于上面實例的兩點說明:
1、在整個表單中,不應(yīng)有名字為action或submit的標簽,否則將會產(chǎn)生"對象不支持此屬性和方法"的錯誤。如代碼 "<input type='xxxx' name='action' >"在表單中是不允許出現(xiàn)的;
2、在form標簽中應(yīng)該存在name屬性。即,應(yīng)該給表單取一個名字。語句document.form.action和document.form.submit中的"form"也就是表單的名字。
表單的分向提交不僅僅使用在論壇的程序中,它還可以運用在許多場合下。恰當?shù)倪\用表單的分向提交功能可以大大的增強網(wǎng)站的人性化程度。
昨天,我調(diào)試程序就出現(xiàn)了這樣的問題,就是出現(xiàn)了"對象不支持此屬性和方法"的錯誤,一直無法定位出來,都快瘋掉了,后來在發(fā)現(xiàn)一個button命名為submit了。
1.--------
<form name="formname" action="">
<input name="inputname">
<input type="submit" onclick="document.formname.action='a.asp'" value="button a">
<input type="submit" onclick="document.formname.action='b.asp'" value="button b">
<input type="submit" onclick="document.formname.action='c.asp'" value="button c">
</form>
2.----------
<input type=button name="a" value="a" onclick="this.form.action='a.asp';this.form.submit();">
<input type=button name="b" value="b" onclick="this.form.action='b.asp';this.form.submit();">
<input type=button name="c" value="c" onclick="this.form.action='c.asp';this.form.submit();">
<input type=button name="d" value="d" onclick="this.form.action='d.asp';this.form.submit();">
同一個表單可以根據(jù)用戶的選擇,提交給不同的后臺處理程序。即,表單的分向提交。如,在編寫論壇程序時,如果我們希望實現(xiàn)用戶在發(fā)送貼子的時候,既發(fā)送提交功能又有預(yù)覽功能時,就會遇到上述問題。即,當用戶點擊提交按鈕時,我們希望表單提交給"提交"處理程序;而當用戶點擊預(yù)覽按鈕時,我們希望表單提交給"預(yù)覽"處理程序。那么,如何實現(xiàn)上述功能呢?下面代碼可以很好的解決這個問題。
<form name="form" method="post">
測試表單:<input name="test"><br>
<input type="button" value="提交" onClick=send()>
<input type="button" value="預(yù)覽" onClick=preview()>
</form>
<script language=javascript>
function send()
{
document.form.action="send.asp"
document.form.submit()
}
function preview()
{
document.form.action="preview.asp"
document.form.submit()
}
</script>
關(guān)于上面實例的兩點說明:
1、在整個表單中,不應(yīng)有名字為action或submit的標簽,否則將會產(chǎn)生"對象不支持此屬性和方法"的錯誤。如代碼 "<input type='xxxx' name='action' >"在表單中是不允許出現(xiàn)的;
2、在form標簽中應(yīng)該存在name屬性。即,應(yīng)該給表單取一個名字。語句document.form.action和document.form.submit中的"form"也就是表單的名字。
表單的分向提交不僅僅使用在論壇的程序中,它還可以運用在許多場合下。恰當?shù)倪\用表單的分向提交功能可以大大的增強網(wǎng)站的人性化程度。
昨天,我調(diào)試程序就出現(xiàn)了這樣的問題,就是出現(xiàn)了"對象不支持此屬性和方法"的錯誤,一直無法定位出來,都快瘋掉了,后來在發(fā)現(xiàn)一個button命名為submit了。
1.--------
<form name="formname" action="">
<input name="inputname">
<input type="submit" onclick="document.formname.action='a.asp'" value="button a">
<input type="submit" onclick="document.formname.action='b.asp'" value="button b">
<input type="submit" onclick="document.formname.action='c.asp'" value="button c">
</form>
2.----------
<input type=button name="a" value="a" onclick="this.form.action='a.asp';this.form.submit();">
<input type=button name="b" value="b" onclick="this.form.action='b.asp';this.form.submit();">
<input type=button name="c" value="c" onclick="this.form.action='c.asp';this.form.submit();">
<input type=button name="d" value="d" onclick="this.form.action='d.asp';this.form.submit();">