html中a連接觸發表單提交


先上代碼

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>test</title>
</head>
<body>

<a href = "javascript:;" onclick ="add('a','aa');">aaaaaa1</a><br />
<a href = "javascript:;" onclick ="add('b','b');">aaaaaa2</a><br />
<a href = "javascript:;" onclick ="add('c','c');">aaaaaa3</a><br />

<form action="test.php" method="post" name="argform" id="argform">
    <input type="hidden" name="a" id="a" value="a"/>
    <input type="hidden" name="b" id="b" value="b"/>
    <input type="hidden" name="c" id="c" value="c"/>
    <input type="submit" name="argsubmit" style="display:none"/>
</form>

<script type="text/javascript">
function add(key,value)
{
    document.getElementById(key).value = value;
    document.getElementById("argform").submit();
    //document.argform.submit(); //document.getElementById("argsubmit").click();
}
</script>

</body>
</html>

注意:
①a連接中的href屬性不能為空,不能為URL地址(為空相當於URL是本腳本的URL地址),這樣會先提交到form表單中的action,再跳轉到a標簽中指定的地址,即使a標簽中的超鏈接地址和form表單中的URL地址相同,也不能得到form表單的值

(我猜是)因為這相當於兩次進入該頁面:第一個是通過form跳轉進入,第二個是通過a標簽跳轉。第二次的跳轉將post清空了所以得不到值

②雖然form表單的提交是通過js觸發的,但是form標簽中也必須有<input type = "submit" .... />

③js觸發提交有兩種方法:觸發form的submit();事件 || 觸發提交按鈕(submit)的click();事件。兩個都可以我試過了

 

Summer PHP 框架


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM