我正在嘗試通過呼叫 JavaScript 函式并使用 JQUERY / PHP 執行表單來提交沒有按鈕的表單。我希望表單在后端靜默執行而不重新加載頁面。不幸的是,即使頁面上存在 JavaScript 函式,它也會不斷回傳未定義 JavaScript 函式的錯誤。誠然,我不擅長 JavaScript,所以請把我當作菜鳥,并為我指明正確的方向。謝謝,我的代碼是
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="my_1form" action="" method="POST">
<input type="text" name="acc_name" id="acc_name" value="name"/>
<br/>
<input type="text" name="with_id" id="with_id" value="1"/>
<div onclick="submit_1form()">Submit</div>
</form>
<script>
$(document).ready(function() {
function submit_1form() {
var fo1rm = document.getElementById("my_1form");
fo1rm.submit();
var acc_name = $("#acc_name").val();
var with_id = $("#with_id").val();
var dataString = 'acc_name=' acc_name
'&with_id=' with_id; {
// AJAX Code To Submit Form.
$.ajax({
type: "POST",
url: "submit-withdraw.php",
data: dataString,
cache: false,
success: function(result) {}
});
}
return false;
}
});
</script>
請注意,我在標題標簽中呼叫了 Jquery 腳本 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
非常感謝!
uj5u.com熱心網友回復:
您的submit_1form函式嵌套在匿名document.ready()函式中,因此在需要時無法在范圍內找到它。由于它是一個函式,因此不需要首先在其中定義document.ready。
submit要不遇到頁面重新加載,請不要使用form. 相反,請照常使用 AJAX,并click使用div.
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
<input id="acc_name" value="name">
<br>
<input id="with_id" value="1">
<div class="submitButton">Submit</div>
</form>
<script>
$(function(){
// Set up a click (not submit) event handler for the div
$("div.submitButton").on("click", submit_1form);
});
function submit_1form() {
var acc_name = $("#acc_name").val();
var with_id = $("#with_id").val();
var dataString = 'acc_name=' acc_name '&with_id=' with_id;
// AJAX Code To Submit Form.
$.ajax({
type: "POST",
url: "submit-withdraw.php",
data: dataString,
cache: false,
success: function(result) {}
});
alert("Form data submitted!");
}
</script>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/490124.html
標籤:javascript php html jQuery 阿贾克斯
