提交表单的HTML普通按钮

时间:2014-11-02 19:06:02

标签: javascript php html

请帮助我,我不知道为什么永远不会进入“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>

:)

3 个答案:

答案 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'])) ...

或类似的东西。