【问题标题】:Form POST action wont work表单 POST 操作不起作用
【发布时间】:2013-02-13 02:38:40
【问题描述】:

为什么这不起作用?

<form action="" method="POST">
<input type="text" class="searchBar" name="domain" /><input type="button" value="SEARCH" class="searchButton" id="srch" />
</form>


<? print $_POST['domain']; ?>

我也尝试将其放入 var 中。我刚刚收到一个错误。

谢谢

编辑: 已提出更改按钮以提交的建议,但我的 jQuery 错误出现了。

<script type="text/javascript">
$('#srch').click(function(){ 
      $('#notActive').attr('id','Active'); 
});

$(document).ready(function(){

  // Hide div 2 by default
  $('#Active').hide();

  $('#srch').click(function(){ 
      $('#notActive').hide();
      $('#Active').fadeIn();
  });
});
</script>

我已经设法通过在我的表单中使用javascript: void(0); 的操作将按钮更改为提交。

【问题讨论】:

  • 在处理php时使用
  • 你得到什么错误?您是否启用了short_open_tags?如果没有,请使用&lt;?php ?&gt;
  • @MichaelBerkowski 注意:未定义索引:域
  • @KaiQing 我试过 还是不行。
  • @Rahul 没有看到你的完整代码,我猜你在实际提交表单之前尝试访问$_POST['domain'],未定义的索引是脚本第一次加载的结果,在提交之前。

标签: php jquery post methods


【解决方案1】:

如果不包含 type="submit" 输入,则表单无法提交。

&lt;input type="button" /&gt; 无法提交表单。您应该在表单中添加&lt;input type="submit" /&gt;

【讨论】:

  • 您可以在表单标签中添加 onsubmit="return false" 以防止自然行为,但这会阻止表单发布,因此您的原始问题将持续存在。您正在更改提交时的 id 属性 - 如果您在没有 ajax 的情况下提交帖子,这种效果将会丢失......这是为 OP 准备的,但评论消失了
  • @KaiQing jQuery 比我的 PHP 还差,你能帮我解决这个问题吗? :)
【解决方案2】:

在提交表单之前,您无法访问发布的变量

if (isset($_POST['domain'])) {
    // a form is submitted that contains the 'domain' parameter
    print $_POST['domain'];
}

【讨论】:

    【解决方案3】:

    尝试设置一个动作:

    &lt;form action="index.php" method="POST"&gt;.

    另外,将您的第二行更改为:

    &lt;? if (isset($_POST['domain'])) echo ($_POST['domain']); ?&gt;

    【讨论】:

    • 它们都在同一个文件中。 index.php
    • 你错过了 )) 我认为,但仍然无法正常工作,但感谢您的时间。
    • 这行得通,但问题是我必须在键盘上按回车键,然后单击搜索以显示在我的隐藏 div 中。
    猜你喜欢
    • 2014-06-02
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 2019-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多