我试图通过调用 JavaScript 函数并使用 JQUERY / PHP 执行表单来提交没有按钮的表单。我希望表单在后端静默执行,而无需重新加载页面。不幸的是,它不断返回 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>
请注意,我在标头标签 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
中调用了 Jquery 脚本< /p>
非常感谢!
首先确保您的 jQuery 文件正确加载,并且最好在表单提交上调用您的 javascript 函数。
您的
submit_1form
函数嵌套在匿名document.ready()
函数中,因此在需要时无法在作用域中找到它。由于它是一个函数,因此不需要首先在document.ready
中定义它。为了避免页面重新加载,请不要使用
form
的典型submit
事件。相反,请像现在一样使用 AJAX,并通过div
的click
事件触发该 AJAX。