我有一个仪表板页面,为了最简单的解决方案,我将整个页面作为一个表单(因为整个页面上有几个下拉菜单)。我想实现一个可以每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;按下按钮。
答案 0 :(得分:0)
因为你不介意使用jQuery,所以你去:
var form = $("#formId");
$("select[name=selectField]").on("change", function(e){
form.trigger("submit");
});
所有它本质上都是在select元素上监听更改,并简单地触发表单上的submit事件。当然,您需要更改名称和ID以适合您的代码,但我确信您可以处理:),并记住在文档中包含jQuery。
按钮也是一样的。您会收听“点击”事件,然后在表单上触发“提交”。