php表单不会用javascript提交

时间:2015-07-10 09:32:23

标签: javascript php jquery html forms

我有一个仪表板页面,为了最简单的解决方案,我将整个页面作为一个表单(因为整个页面上有几个下拉菜单)。我想实现一个可以每30分钟提交一次表单的功能,无论是使用JavaScript,jQuery还是其他任何东西,但是当我尝试它时只是拒绝执行代码,所以我尝试回到basi这样的东西通过" OnChange"更改下拉列表时提交表单。

以下是单独页面的示例摘录,其中包含我的信息中心页面中的一些代码。这本身应该有效,但我不知道为什么它不会执行代码,也许我错过了一些明显的东西?你能帮我解决这个问题:

<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function submit_my_form(myfield)
{
   myfield.form.submit();
}
function submitForm() {
    document.getElementById("branchForm").submit();
}
</script>
</head>
<body>
<?php   
$branch_array = array(
        array(1,"BRANCH 1",1, "http://BRANCH.BRANCH1:1"),
        array(2,"BRANCH 2",1, ""),
        array(3,"BRANCH 3",3, "http://branch3:3"),
        );
?>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="POST" name="branchForm" id="branchForm">
    <select name="query" id="query" class="select" onChange="submit_my_form(this);">
    <?php
    foreach ($branch_array as $x) { // populate select box with branches available from array

        echo '<option value ="'.$x[0].'"';
        if (isset($_POST['query']) && $_POST['query'] == $x[0]) 
        {
            echo ' selected="selected" >'.$x[0].". ".$x[1].'</option>'; 
        } else { 
            echo ' option="'.$x[0].". ".$x[1].'">'.$x[0].". ".$x[1].'</option>'; 
            }
    }
    ?>
    </select>
        <input type="submit" name="submit" value="Refresh" class="btnRefresh" />
        <input type="button" value="go" name="click" onClick="submitForm();" />
    </form>
    <?php echo "<br/>Output: {$_POST['query']}"; ?>
</body>
</html>

当下拉列表发生变化时没有任何反应,当&#34; go&#34;按下按钮。

1 个答案:

答案 0 :(得分:0)

因为你不介意使用jQuery,所以你去:

var form = $("#formId");
$("select[name=selectField]").on("change", function(e){
    form.trigger("submit");
});

http://jsfiddle.net/zt8zz1j5/

所有它本质上都是在select元素上监听更改,并简单地触发表单上的submit事件。当然,您需要更改名称和ID以适合您的代码,但我确信您可以处理:),并记住在文档中包含jQuery。

按钮也是一样的。您会收听“点击”事件,然后在表单上触发“提交”。