1

我无法获得$_POST['value']表单提交后。

我使用 javascript 为输入字段赋值。代码:

function updateValue(pid, value){
    // this gets called from the popup window and updates the field with a new value
    document.getElementById(pid).value = value;
}

弹出窗口寡妇调用上述函数为我的输入字段分配一个值:pid

这是form脚本:

<form action="test.php" method="post">
  <input type="text" name="project_name" id="pid" disabled="disabled" />
  <input type="submit" id="search" name="search" value="Search" />
</form>

在我的 test.php 中,我做了:

include 'functions.php'; //Has the connection script
if (isset($_POST['search'])){
    echo $project_id = $_POST['project_name'];
    $sql = mysql_query("SELECT * from item
                    where category like '$project_id %'
                    ");
    echo $num = mysql_num_rows($sql);   
}

但我收到错误:Undefined index: project_name

4

4 回答 4

4

禁用的输入不会发布。使用hidden这样的输入:

<form action="test.php" method="post">
  <input type="text" name="project" disabled="disabled" />
  <input type="hidden" name="project_name" id="pid" />
  <input type="submit" id="search" name="search" value="Search" />
</form>
于 2013-07-29T11:44:06.470 回答
2

将值设置为禁用字段时尝试填充隐藏字段

<form action="test.php" method="post">
      <input type="text" name="project" id="pid" onchange="document.getElementById("pid-new").value=document.getElementById("pid").value" disabled="disabled" />
      <input type="hidden"  id="pid-new" name="project_name" />
      <input type="submit" id="search" name="search" value="Search" />
    </form>
于 2013-07-29T11:50:37.953 回答
1

您的 project_name 输入字段已禁用。删除此属性然后它将起作用。

于 2013-07-29T11:46:09.450 回答
0

这是因为禁用的属性不会随表单请求一起传递。

如果您通过 javascript 设置值,并且该部分有效,请将您的文本输入替换为:

<input type="hidden" name="project_name" id="pid" />

这会起作用

于 2013-07-29T11:46:28.470 回答