gpt4 book ai didi

php - 通过 jquery 传递的表单变量潜在问题

转载 作者:行者123 更新时间:2023-12-01 03:21:31 24 4
gpt4 key购买 nike

我有一个邮件列表脚本表单,我正在尝试使用ajax,以便表单可以刷新而无需重新加载。注释掉 jquery 的 $.ajax 部分后,表单变量将被发送到 URL 字符串。

?email=test%40address.com&sub=sub&submit=Submit+Form

我的问题是为什么submit=Submit+Form部分在那里,因为它不是我的“数据字符串”的一部分,并且在处理实际的PHP脚本时这会是一个问题吗?

这是表格:

<form name="email_list" action="">

<p><strong>Your Email Address:</strong><br/>
<input type="text" name="email" id="email" size="40">
<input type="hidden" name="sub" id="sub" value="sub">

<p><input type="submit" name="submit" value="Submit Form" class="email_submit"></p>
</form>

和 JQuery

$(function() {    
$('.email_submit').submit(function() {

var email = $("input#email").val();
if (name == "") {
$("input#email").focus();
return false;
}
var sub = $("input#sub").val();
if (name == "") {
$("input#sub").focus();
return false;
}

var dataString = '&email=' + email + '&sub=' + sub;

//alert (dataString);return false;
/*$.ajax({
type: "POST",
url: "mailing_list_add2.php",
data: dataString,
success: function() {
$('#display_block')
.hide()
.fadeIn(2500, function() {
$('#display_block');
});
}
});
return false;
});*/

});

最佳答案

您应该将提交处理程序放在表单上,​​而不是按钮上,即使是一个提交按钮。

<form name="email_list" action="" id="my_form">

更新 JavaScript

$(function() {    
$('#my_form').submit(function() {
...
});
});

要将所有输入序列化为字符串,您可以使用 $("#my_form").serialize() ,它会构建一个包含所有输入及其数据的字符串以供发布:

var dataString = $("#my_form").serialize();

另请注意,为提交输入定义 name 属性意味着它的值也将在表单中发送。如果您不需要,只需删除 name 属性即可。

关于php - 通过 jquery 传递的表单变量潜在问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9422632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com