Javascript HTML普通按钮提交表单

Javascript HTML普通按钮提交表单,javascript,php,html,Javascript,Php,Html,请帮助我,我不知道为什么从来没有进入的条件,如果设置$\u邮政['buscar'] 当你按下按钮,我想发送一个提交 如果发生错误,请取消提交 否则,请发送提交 在php中,要求输入变量'buscar',这就是错误发生的地方 不明白为什么不进入状态 <?php # Load... $data_buscar = array(); # Buscar... if (isset($_POST['buscar'])) { if (!empty($_POST['id_ingrediente']

请帮助我,我不知道为什么从来没有进入的条件,如果设置$\u邮政['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>

如果通过AJAX提交表单,则不会发送按钮值

您可以通过检查错误来执行客户端验证,如果存在错误,则返回false,这将取消提交表单按钮的默认操作

if (//error)
{
  alert("err");
  return false;
}
如果没有错误,允许按钮单击以执行提交表单的默认操作

if (//error)
{
  alert("err");
  return false;
}

如果您在一个表单中有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>
你的$邮政中没有公共汽车。你只有身份证。这就是为什么isset$_POST['buscar']是错误的

你必须写:

if ( isset($_POST['id_ingrediente'])) ...

或者类似的东西。

您很容易受到攻击。问题是,如果我在设置$\uuu POST['id\u ingrediente']时使用条件,我有更多相同表单的按钮,因为我可以区分每个按钮。。。