2015-07-10 51 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