我有这个:
<form action="profiles.php" method="POST" name="SearchSimple" id="SearchSimple" >
<input name="search" id="s" style="width: 150px;" type="text">
<a style="display: inline-block; width: 100px; font-weight: bold; cursor: pointer;" id="submitSearchSimple">Search </a>
<script>
$('#submitSearchSimple').click(function() {
javascript:document.SearchSimple.submit();
});
</script>
</form>
虽然我做的时候提交的很好
if($_POST["submitSearchSimple"] && isset($_POST["submitSearchSimple"])) {
echo $_POST["s"] . " -TEST";
}
它没有显示..我什么都没得到
答案 0 :(得分:2)
您的表单输入的名称是“搜索”而不是“submitSearchSimple”。
id不会传递给服务器,也不是任何不是表单控件的东西(如示例中的锚点)。
答案 1 :(得分:2)
在PHP中,POST变量仅适用于INPUT元素,SELECT元素和&amp;只有在提交表单时,表格中也是如此。您还需要指定要由POST超全局数组变量捕获/使用的那些元素的“name”属性。
In your case, you can simply do this:-
if(isset($_POST["search"]) && !empty($_POST["search"])) {
echo $_POST["search"] . " -TEST";
}
永远记住PHP与JavaScript / jQuery有一个主要区别。在JavaScript / jQuery中,您可以使用“id”属性或“name”属性来验证/操作字段。但是在PHP中,它总是字段的“名称”属性很重要,所以要小心这些。
希望它有所帮助。
答案 2 :(得分:0)
识别您作为POST传递的变量的简单方法:您可以在 profiles.php 中完成* var_dump($ _ POST)*。 你会看到
array(1){[“search”] =&gt; string(4)“test”}
因此,您可能已经看到它不是$ _POST [“s”]而是$ _POST [“搜索”]并得出结论认为不是 id 给出了名称索引,但名称。
我没有看到在这种情况下使用javascript的意义......(好吧,我可以想象它适用于CSS样式,但无论如何你都可以轻松设置提交按钮的样式。