[英]Submit a form from a link and get $_Post value
我有以下問題。 我有一個包含多個鏈接的表單。 這些鏈接應該分配一個隱藏字段並使用一些 javascript 提交表單。
我正在使用 PHP 5.4。
當我使用按鈕提交表單時,$_POST 包含數據。 但是當表單是來自 javascript 的提交者時,$_POST 是空的。
有什么線索嗎?
<head>
<script language="text/javascript">
function affect(numMet)
{
document.forms['frmDemo'].num_met_choose.value = numMet;
document.forms['frmDemo'].submit();
}
</script>
</head>
<body>
<?php
var_dump($_POST);
?>
<form name="frmDemo" enctype="multipart/form-data" method="POST">
<input name="num_met_choose" id="num_met_choose">
<a href="" onClick="javascript:affect('22');" >test 1</a>
<a href="" onClick="javascript:affect('12');" >test 2</a>
<button id="submit" type="submit">OK</button>
</form>
你有兩個問題。
第一個是這樣的:
document.forms['frmDemo'].submit();
結合這個:
<button id="submit" type="submit">OK</button>
通過在表單中使用id="submit"
的表單控件,您可以覆蓋表單對象的submit
屬性。 它不是您可以調用的函數,而是成為對具有 id submit
元素的引用。
您需要使用不同的 id(或者根本不使用,因為您似乎沒有將其用於任何用途)。
您應該在瀏覽器的 JavaScript 控制台中遇到錯誤。 當您的 JS 沒有按照您的預期運行時,請務必注意這一點。
即使你解決了這個問題,你還有另一個問題:
<a href="" onClick="javascript:affect('22');" >test 1</a>
不要將鏈接用作運行 JS 的東西(除非您希望它用作鏈接,或者將其設置為使用鏈接作為后備)。
改用按鈕( type="button"
)。
那說。 根本不要為此使用 JavaScript。 您可以使用純 HTML 獲得相同的效果。
<form enctype="multipart/form-data" method="POST">
<button type="submit" name="num_met_choose" value="22">test 1</button>
<button type="submit" name="num_met_choose" value="12">test 2</button>
</form>
<form action="#" method="post">
<input type="text" name="num_met_choose" id="num_met_choose">
<button type="submit" formaction="/action_page.php">Submit using
link</button>
</form>
<head>
<script language="text/javascript">
function affect(numMet)
{
//document.forms['frmDemo'].num_met_choose.value = numMet;
//document.forms['frmDemo'].submit();
document.getElementById("num_met_choose").value=numMet;
document.getElementById("frmDemo").submit();
}
</script>
</head>
<body>
<?php
var_dump($_POST);
?>
<form name="frmDemo" enctype="multipart/form-data" method="POST">
<input name="num_met_choose" id="num_met_choose">
<a href="#" onClick="affect('22');" >test 1</a>
<a href="#" onClick="affect('12');" >test 2</a>
<button id="submit" type="submit">OK</button>
</form>
試試這個,讓我知道結果是什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.