【发布时间】:2020-02-13 12:20:49
【问题描述】:
在此页面上,我正在尝试通过 JQuery 创建表单。我想使用 action="http://hebrew-transliteration.wz.cz/users/signup.php" 通过方法 .post() 发送数据,但我被重定向了。问题出在哪里,如何使用 JQuery AJAX 成功发布?
https://krestanske-clanky.webnode.cz/vip/
当我点击按钮发送时,我被重定向。
<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
if (jQuery) {
// jQuery is loaded
$form = $('<form id=current_sender action="http://hebrew-transliteration.wz.cz/users/signup.php" method=post></form>');
$form.append('<h2>Registrovat ke psaní komentářů</h2>');
$form.append('<label for="name1">Jméno či přezdívka: </label>');
$form.append('<input name=name1 type=input maxlength=15 size=10>');
$form.append('<label for=name2> Příjmení: </label>');
$form.append('<input name=name2 type=input maxlength=20 size=10>');
$form.append('<label for=email> Email:</label>');
$form.append('<input name=email type=input maxlength=40 size=10 value=@>');
$form.append(' <input type=submit value=Send>');
$('footer#footer').append($form);
} else {
alert("JQuery doesn't work");
}
});
$("#current_sender").submit(function(e) {
e.preventDefault(); // avoid to execute the submit
var form = $(this);
var url = form.attr('action');
alert(url);
$.ajax({
type: "POST",
url: url,
data: form.serialize(), // serializes form's elements.
success: function(data) {
alert(data); // show response
}
});
});
</script>
【问题讨论】:
-
尝试将 更改为 。它将独立于表单 -> 将 eventListener 添加到此按钮
-
添加事件处理程序 (
$("#current_sender").submit()) 的代码在 外部$(document).ready()事件处理程序,所以首先它将事件绑定到所有匹配的表单(没有t any 所以这不起作用),然后文档准备就绪,然后将表单添加到文档中。 -
@Tracer69 不,
<button>默认也是一个提交按钮。你的意思是type="button"。