[英]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.