[英]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");
});
它本質上所做的只是監聽select元素上的更改,並簡單地觸發表單上的Submit事件。 當然,您需要更改名稱和ID以適合您的代碼,但我確定您可以處理:),並記住在文檔中包括jQuery。
對於按鈕,它是同一回事。 您監聽“單擊”事件,然后在表單上觸發“提交”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.