jQuery序列化错误的textarea
-
29-09-2019 - |
题
我正在使用此功能,并在后台提交表单,并使用自定义消息。除了Textarea字段外,它运行得很好。我已经读到序列化函数在EX方面存在问题。线路断路。
$(function() {
$("#comment_form").validate({ submitHandler: function(form) {
$.post('/u/r/l/', $("#comment_form").serialize(),
function(data) {
$('#comment_container').html(data);
});
}
});
Textarea是标记!编辑区。
解决方案
如下所述: http://api.jquery.com/serialize/#comment-67394779
function keepLB (str) {
var reg=new RegExp("(%0A)", "g");
return str.replace(reg,"%0D$1");
}
$(function() {
$("#comment_form").validate({ submitHandler: function(form) {
$.post('/u/r/l/', keepLB($("#comment_form").formSerialize()), function(data) {
$('#comment_container').html(data);
});
}
});
如果它不起作用,请手动urlencode textarea数据:
$(function() {
$("#comment_form").validate({ submitHandler: function(form) {
$.post('/u/r/l/', "textareadata="+escape($("#mytextarea").value), function(data) {
$('#comment_container').html(data);
});
}
});
而且,如果您还想发送其他表格内容(注意:请勿在此处给文本area一个“名称”,只是ID!):):
$(function() {
$("#comment_form").validate({ submitHandler: function(form) {
$.post('/u/r/l/',
$("#comment_form").formSerialize()+"&textareadata="+escape($("#mytextarea").value),
function(data) {
$('#comment_container').html(data);
});
}
});
其他提示
一个想法(如果标准用法序列化不起作用)是Markitup代码正在采用该文本方面并使用它做一些奇特的事情,以使其甚至不再像textarea一样。 Markitup API是否有某种方法可以检索数据?
这里main_post_txt是您正在使用的HTML文本区域元素的ID,在jQuery中,您可以通过使用轻松获得其值
var post_text = $("#main_post_txt").serialize();
不隶属于 StackOverflow