2011-04-07 68 views
1

我試圖創建一個帶有超鏈接的窗體。點擊後,他們提交頁面並傳遞不同的值。如何讓超鏈接將他們的名字作爲POST變量傳遞?

這裏是我的代碼:

<script language="Javascript"> 

function submitForm(action){ 

document.forms["MyForm"].innerHTML = 
    document.forms["MyForm"].innerHTML 
    + "<input type=hidden name=submit value='" + action +"'>"; 

document.forms["MyForm"].submit(); 

} 

</script> 


<form name="MyForm" action="test.php" method="post"> 
<input type="text" name="abc" value="" /> 
<a name="edit" href="javascript:void(1);" onClick="submitForm('Edit');">Edit</a> 

<a name="delete" href="javascript:void(1);" onClick="submitForm('Delete');">Delete</a></form> 

當我點擊HREF鏈接,我得到的錯誤

document.MyForm.submit is not a function 
[Break On This Error] document.MyForm.submit(); 

人知道爲什麼發生錯誤?

+2

爲什麼這麼複雜?你想編輯/刪除一個帖子? – diEcho 2011-04-07 09:57:12

+0

我必須同意,有更好的方法來實現這 – 2011-04-07 09:58:42

回答

0

我有同樣的問題。這是因爲<input type=hidden name='submit' value='" + action +"'>中的name='submit'。您更改此,使其工作:

試試這個:

<script> 
function submitForm(action) 
{ 
document.forms["MyForm"].innerHTML = 
    document.forms["MyForm"].innerHTML 
    + "<input type=hidden name='submit1' value='" + action +"'>"; 

document.forms["MyForm"].submit(); 
} 

</script> 


<form name="MyForm" id="MyForm" action="config.php" method="post"> 
<input type="text" name="abc" value="" /> 
<a name="edit" href="javascript:void(1);" onClick="submitForm('Edit');">Edit</a> 

<a name="delete" href="javascript:void(1);" onClick="submitForm('Delete');">Delete</a> 
</form> 
+0

非常感謝你,現在這樣做,請讓我知道你爲什麼改變name ='submit1'...?:) – saint 2011-04-07 10:31:15

+0

我也提前面對這個問題,但我不知道背後的確切原因。 – 2011-04-07 10:34:15

1

使用ID = 「MyForm的」,而不是名稱= 「MyForm的」 ...

+0

我已經做了,但錯誤是一樣的。:( – saint 2011-04-07 10:14:42

0

嘗試:

<script> 
function setAndSubmit(text){ 
document.getElementById('submit').value=text; 
document.forms["MyForm"].submit() 
} 
</script> 

<form name="MyForm" id="MyForm" action="test.php" method="post"> 
<input type="text" name="abc" value="" />  
<input type="hidden" name="submit" id="submit" value="" /> 
<a name="edit" href="#" onClick="setAndSubmit('Edit')">Edit</a> 
</form> 
+0

同樣的錯誤發生document.MyForm.submit不是一個函數[Break On This Error] document.MyForm.submit ); – saint 2011-04-07 10:12:20

相關問題