请帮助我,我不知道为什么永远不会进入“if(isset($ _ POST ['buscar']))”
当您按下“按钮”时,我想发送提交
如果发生错误,请取消提交
否则发送提交
在php中,请求变量'buscar'并且是错误发生的地方
并且不明白为什么不输入条件
<?php
# Load...
$data_buscar = array();
# Buscar...
if (isset($_POST['buscar']))
{
if (!empty($_POST['id_ingrediente']))
{
$id_ingrediente = $_POST['id_ingrediente'];
$query = "SELECT *
FROM INGREDIENTE
WHERE ID_INGREDIENTE = '$id_ingrediente';";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result))
{
$data_buscar[] = $row;
}
mysql_free_result($result);
}
}
?>
这里显示
<?php
print_r($data_buscar);
?>
这是javascript中的函数
<script type="text/javascript">
window.onload = function()
{
document.form1.buscar.addEventListener("click", buscar_click);
}
function buscar_click(e)
{
if (//something)
{
alert("err");
}
else
{
document.form1.submit();
}
}
<body>
<form name="form1" action="organizador.php" method="post" target="_self">
<label>Id del Ingrediente:</label>
<input class="textbox" type="text" name="id_ingrediente">
<input class="but" type="button" name="buscar" value="Buscar">
</form>
</body>
:)
答案 0 :(得分:0)
如果通过AJAX提交表单,则不会发送按钮值。
您可以通过检查错误来执行客户端验证,如果存在错误,则返回false,这将取消按钮的默认操作(提交表单)。
如果没有错误,请点击按钮执行提交表单的默认操作。
if (//error)
{
alert("err");
return false;
}
答案 1 :(得分:0)
如果您在一个表单中有100个按钮,则只会提交一个表单按钮值,您点击这里...(我的经验)
如果您没有点击按钮,那么按钮值将不会提交
使用隐藏的输入字段它将起作用:)
<body>
<form name="form1" action="organizador.php" method="post" target="_self">
<label>Id del Ingrediente:</label>
<input class="textbox" type="text" name="id_ingrediente">
<input class="but" type="hidden" name="buscar" value="Buscar">
<input class="but" type="button" value="Buscar">
</form>
</body>
答案 2 :(得分:0)
buscar
中没有$_POST
。您只有id_ingrediente
。这就是为什么isset($_POST['buscar'])
是错误的。
你必须写:
if ( isset($_POST['id_ingrediente'])) ...
或类似的东西。