我在使用带有序列化的通配符选择器提交输入信息时遇到问题。在我的表单中,我设置了名称属性。
我的问题是因为我有输入,选择和隐藏字段吗?
我的代码如下:
$('[id^=editeventform_]').submit(function(){
var evtn_edit_form_id_data = $(this).attr("id");
var event_date_edit = $("#event_date_edit", this).val();
var event_orig_name_edit = $("#event_orig_name_edit", this).val();
var event_orig_tel_edit = $("#event_orig_tel_edit", this).val();
var event_orig_email_edit = $("#event_orig_email_edit", this).val();
if (event_title_edit == "") {
$("#event_title_edit", this).focus();
$("#event_title_edit", this).val("");
$("#event_title_edit", this).css({background:"#b72a18", color:"#fff"});
return false;
}
if (event_date_edit == "") {
$("#event_date_edit", this).focus();
$("#event_date_edit", this).val("");
$("#event_date_edit", this).css({background:"#b72a18", color:"#fff"});
return false;
}
$(this).html('<center><img src="/images/ajax-loader-cater.gif"></center>');
var dataString = $(this).serialize();
$.ajax({
type: "POST",
url: "/process.php",
data: dataString,
success: function() {
$(this).html('<p>Thank you your event has successfully been edited.</p>');
setTimeout(function() {
$(window.location).attr('href', '/members/catering-activity.php');
}, 3500);
}
});
return false;
});
提交表单时,警报“dataString”不返回任何信息?
我是Jquery的初学者,无法找到我的代码的问题以及为什么它不会返回任何输入值。
答案 0 :(得分:0)
我做了一些测试并得出以下结论:
您没有发布您的HTML,但我猜您的输入字段会遗漏名称属性:
<input id="event_date_edit" name="foobar" type="text" />
您需要在提交功能中添加e.preventDefault();
以防止浏览器重新加载页面:
$('[id^=editeventform_]').submit(function(e){
e.preventDefault();
//...
据我所知,您尚未定义变量event_title_edit
我希望这会有所帮助。