这是我的代码
function generate_clicked()
{
var txt_text_color = $('#txt_text_color').val();
var url='process.php?';
url+='txt_text_color='+encodeURIComponent(txt_text_color);
$.ajax({
url: url,
beforeSend: function ( xhr ) {
xhr.overrideMimeType("application/json; charset=x-user-defined");
}
}).done(function ( data ) {
try{
$('#preview').val(data.css);
$('#my_iframe').srcdoc = data1;
}
catch(err)
{
console.log(err);
}
document.getElementById("my_iframe").src = data.live_preview_html_page;
});
}
这适用于我的目的,但如果我添加了另一个表单元素,我会非常繁琐地添加var example = $('....')。val(); 和 URL + = '例如' + endcodeU .....
我将拥有超过100个元素,然后我将使用
重新审核它们$txt_text_color = $_REQUEST['txt_text_color'];
我的问题是,如何将其序列化(我认为这就是我需要做的事情),以便每次创建新的表单对象时都不必编写这两个varibles名称。
我需要在process.php中保存/发布这些变量来使用它们。
对不起,如果这没有意义,我还在学习。
答案 0 :(得分:1)
尝试form.serialize() http://api.jquery.com/serialize/
您的代码看起来像这样:
function generate_clicked()
{
var formData = $('#form').serialize();
var url='process.php?';
url+=formData;
$.ajax({
url: url,
beforeSend: function ( xhr ) {
xhr.overrideMimeType("application/json; charset=x-user-defined");
}
}).done(function ( data ) {
try{
$('#preview').val(data.css);
$('#my_iframe').srcdoc = data1;
}
catch(err)
{
console.log(err);
}
document.getElementById("my_iframe").src = data.live_preview_html_page;
});
}