注意:除了附加JS文件之外,我无法编辑任何内容。
我有一个HTML表单,如下所示:
<input type="text" name="name" />
<input type="text" name="last_name" />
<input type="text" name="mail" />
<select name="country">
<option value="1">Country 1</option>
(...)
</select>
现在假设用户填写表单:
约翰| Doe | mail@example.com |选择第57个国家
问题是,我的后端以不同的形式接受数据(我不能改变它)。它需要看起来更像是为了工作:
<input type="text" name="site[name]" value="John" />
<input type="text" name="site[last_name]" value="Doe" />
<input type="text" name="site[country]" value="57" />
(...)
是否可以动态解析/修改表单的输出,以便我的后端接受我用它提供的内容?任何提示?我一直在寻找,但找不到任何东西:)非常感谢。
答案 0 :(得分:0)
您可以使用更改每个输入的名称属性
$(document).ready(function(){
$("form input[name=name]").attr("name", "site[name]");
$("form input[name=last_name]").attr("last_name", "site[last_name]");
$("form select[name=country]").attr("name", "site[country]");
});
或一般解决方案
DEMO:http://jsfiddle.net/xbLH7/
$(document).ready(function(){
$("form").children().each(function(){
var currName = $(this).attr("name");
if(currName != ""){
$(this).attr("name", "site["+currName+"]");
}
});
});
答案 1 :(得分:0)
您可以使用以下内容重写所有name
属性:
$(function() {
$("input[name]").attr(function(i, oldname) {
return 'site['+oldname+']';
});
});