2015-05-11 98 views
0

我想提交一個沒有提交按鈕的表單,但當我點擊另一個href。 這裏是我的代碼:複選框提交href(html)

第1頁:

<form name="myform" method="post" action="page2.php"> 
    <input type="checkbox" name="condition" value="1"> 
</form> 
<a href="page2.php?item=n" onclick="document.forms['myform'].submit();"> link </a> 

第2頁:

$_SESSION['condition'] = isset($_POST['condition'])? 1 : 0; 

的問題是,$_POST['condition']從未設置,即使選中此複選框。看起來我的表格不是從page1到page2的。你有任何線索爲什麼可能發生?

編輯:

也許並不清楚我試圖實現,所以我編輯我的代碼:我使用的href因爲我有裁判的名單上,用戶可以點擊,但我想用複選框添加一個選項。所以我想在用戶點擊ref時發送帶有參數參數的選項。

+0

將表單中的「action」設置爲「page2.php」,表單將被提交。 – Gerton

+0

表單的action屬性應該是page2.php,而不是href – steven

+0

爲什麼使用鏈接提交表單而不是提交類型的按鈕? – user2182349

回答

1

怎麼這樣呢?

<a href="page2.php?item=n" onclick="document.forms['myform'].attributes.action.value = this.attributes.href.value; document.forms['myform'].submit(); return false;"> link </a> 
+0

「返回false」生成「URL未找到」的聲明 – Arcyno

+0

ups對不起,我的壞我拼寫錯了一個字。有用 !! 但我不確定它是如何工作的......它在做什麼? – Arcyno

+0

它將href屬性複製到表單的action屬性中,然後提交表單。返回錯誤;部分不允許瀏覽器遵循鏈接本身。 – Luki

1

提交()方法使用的形式,目標的指定動作,而不是你鏈接的href,你應該刪除

<form name="myform" method="post" action="page2.php"> 
    <input type="checkbox" name="condition" value="1"> 
</form> 
<a href="javascript:void(0);" onclick="document.forms['myform'].submit();"> link </a> 
+0

對不起,我的問題還不夠清楚。我仍然希望在href中指定的鏈接是所調用的鏈接,但我也需要從複選框中發送選項。 (也許複選框不是正確的項目用於我的目的,雖然) – Arcyno

0

這應該工作:

<form name="myform" method="post" action="page2.php?item=n"> 
    <input type="checkbox" name="condition" value="1"> 
    <button type="submit" class="link">link</button> 
</form> 

可以樣式按鈕通過去除邊框並調整字體看起來像一個鏈接。