2015-07-10 101 views
0

我有一個儀表板頁面,並且我爲整個頁面創建了一個表單(因爲在整個頁面上有幾個下拉菜單),這是最簡單的解決方案。我想實現一個功能,可以每隔30分鐘提交一次表單,可以使用JavaScript,jQuery或其他任何方式,但是當我嘗試過它拒絕執行代碼時,所以我試着回到諸如提交通過「OnChange」更改下拉菜單時的表單。php表單不會用javascript提交

以下是一個單獨頁面的示例代碼片段,其中包含來自儀表板頁面的一些代碼。這本身應該工作,但我不明白爲什麼它不會執行代碼,也許我錯過了明顯的東西?你能幫我解決這個問題:

<!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> 

什麼也沒有發生時,下拉被改變,並按下「走出去」按鈕時,沒有任何反應。

+0

請把服務器代碼爲 –

+0

的呈現HTML你看看JS控制檯嗎?有沒有錯誤? – davidgiga1993

+0

你必須使用JavaScript/jQuery等,或者你可以使用PHP來做到這一點? –

回答

0

既然你不介意使用jQuery,在這裏你去:

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

http://jsfiddle.net/zt8zz1j5/

所有它本質上確實是監聽改變的選擇元素,並簡單地觸發對提交事件形成。當然,您需要更改名稱和ID以符合您的代碼,但我相信您可以處理該問題:),並記住要在文檔中包含jQuery。

而對於按鈕它是同樣的事情。您傾聽「點擊」事件,然後觸發表單上的「提交」。

+0

Thanks for this;不幸的是我不能讓它與我的PHP代碼一起工作,我不知道爲什麼。常規提交按鈕的作品,但是當我添加此代碼並修改jQuery名稱以適合我的表單時,它仍然拒絕執行任何操作。 – Ridai

+0

你可以上傳一個小提琴HTML和Javascript嗎? – Tom

+0

[Fiddle](http://jsfiddle.net/x23jLmxh/)它看起來像它的提交按鈕,只要我刪除它,下拉式更改就可以工作。有沒有辦法保持按鈕,而仍然有下拉執行? – Ridai