我在使用jquery脚本发送序列化表单数据以及修改后的变量时遇到了问题。我尝试了几种不同的方法,但添加的变量没有发布。
我尝试了一些方法,我认为最好使用jquery.param(),但是,它没有传递变量消息。
// Code the input (message)
var message = $('textarea[name="content"]').html($('#emailbody').code());
// Submit the form using AJAX.
$.ajax({
type: 'POST',
url: 'mailer.php',
data: $(form).serialize()+$.param(message),
})
我猜我传递变量的语法不正确。有什么提示吗?
谢谢你, 佰
答案 0 :(得分:3)
如果名称为content
的textarea在表单内,则只需设置其值并序列化表单
$('textarea[name="content"]').val($('#emailbody').code());
// Submit the form using AJAX.
$.ajax({
type: 'POST',
url: 'mailer.php',
data: $(form).serialize(),
})
否则你可以尝试
// Submit the form using AJAX.
$.ajax({
type: 'POST',
url: 'mailer.php',
data: $(form).serialize() + '&content=' + encodeURIComponent($('#emailbody').code()),
})
答案 1 :(得分:0)
你可以尝试:
data : $(form).serialize() + '&' + $.param(message)
答案 2 :(得分:0)
尝试:
data :{'form': $('#form').serialize(),'content':$('#emailbody').code()}
答案 3 :(得分:0)
您的问题应该有一个简单的解决方案,如下所示:
在元素中有一个隐藏字段。 2.在发布表单之前,将变量值分配给隐藏字段,如下所示:
$( '#HiddenFieldIdHere')VAL(variablevalue);
然后像你一样进行ajax调用而不附加变量值。
答案 4 :(得分:0)
var message = $('#form_id').serialize();
$。AJAX({ url:" mailer.php", 键入:' POST', 数据:消息, 成功:函数(数据){ $("#form_result&#34)。HTML(数据); } });