簡體   English   中英

PHP的形式不會用JavaScript提交

[英]php form wont submit with javascript

我有一個儀表板頁面,為了最簡單的解決方案,我已將整個頁面設置為表單(因為整個頁面上分散了多個下拉菜單)。 我想實現一個可以每30分鍾提交一次表單的功能,無論是使用JavaScript,jQuery還是其他任何方式,但是當我嘗試過時,它只是拒絕執行代碼,因此我嘗試回到諸如提交之類的基礎上通過“ 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>

更改下拉列表時什么也沒有發生,而按下“ go”按鈕時什么也沒有發生。

由於您不介意使用jQuery,因此您可以執行以下操作:

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

http://jsfiddle.net/zt8zz1j5/

它本質上所做的只是監聽select元素上的更改,並簡單地觸發表單上的Submit事件。 當然,您需要更改名稱和ID以適合您的代碼,但我確定您可以處理:),並記住在文檔中包括jQuery。

對於按鈕,它是同一回事。 您監聽“單擊”事件,然后在表單上觸發“提交”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM