Ich versuche, ein Formular ohne Schaltflächen zu senden, indem ich eine JavaScript-Funktion aufrufe und das Formular mit JQUERY/PHP ausführe. Ich möchte, dass das Formular stillschweigend im Backend ausgeführt wird, ohne dass die Seite neu geladen werden muss. Leider wird immer wieder der Fehler „JavaScript-Funktion undefiniert“ zurückgegeben, obwohl dieser auf der Seite vorhanden ist. Zugegebenermaßen bin ich nicht gut in JavaScript, also behandeln Sie mich bitte wie einen Neuling und weisen Sie mich in die richtige Richtung. Danke, mein Code ist
<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>
Bitte beachten Sie, dass ich das Jquery-Skript im Header-Tag aufrufe <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
< /p>
Vielen Dank!
首先确保您的 jQuery 文件正确加载,并且最好在表单提交上调用您的 javascript 函数。
您的
submit_1form
函数嵌套在匿名document.ready()
函数中,因此在需要时无法在作用域中找到它。由于它是一个函数,因此不需要首先在document.ready
中定义它。为了避免页面重新加载,请不要使用
form
的典型submit
事件。相反,请像现在一样使用 AJAX,并通过div
的click
事件触发该 AJAX。