当前情景:
现在我有一个表单,您可以在其中编辑和保存输入字段的每个记录。即firstName,lastName,email等.. 我没有收到任何错误,一切正常。
要求:
现在我要保存什么&同时修改firstName
和lastName
输入字段,而不是分别编辑和保存firstName
和lastName
输入字段。
现在他们都是不同的输入id。
问题:
如果我想使用按钮同时编辑它们,我可以通过为firstName
和lastName
调用同一个类来实现此目的吗?
这是一种方法吗?感谢...
代码:
$("#inputFirstName,#inputLastName,#inputEmailAddress,#inputPassword,#inputZipCode").on('keypress',function(e){
if(e.which == 13) {
var field = $(this).attr("id");
var data = {};
data['ajax']=true;
data[$('#'+field).attr('name')]=$('#'+field).val();
$.ajax({
method: "POST",
url: this.form.action,
data: data
})
.done(function( msg ) {
if(msg['status']=='fail'){
$('#errormsg span').html(msg['msg']);
$('#errormsg').show();
}
if($('#'+field).attr('name')=='game_user_profile[userinfo][firstName]') {
$('#userfirstname').text($('#'+field).val());
}
if($('#'+field).attr('name')=='game_user_profile[userinfo][lastName]') {
$('#userlastname').text($('#'+field).val());
}
});
$('#'+field+'-edit').show();
$('#'+field+'-save').hide()
$('#'+field).attr('disabled',true);
}
});
答案 0 :(得分:1)
首先。保存每个按键都很糟糕,会耗尽你的服务器。 我建议您使用onChange或提交按钮
提交按钮是一个更好的解决方案。
假设我们有这个html:
<form id="updateForm">
<input type="text" id="firstN" name="firstName" data-val="Ris" value="Ris">
.
.
.
<input type="button" value="submit" id="goBtn">
</form>
首先设置一个等于该值的data-val 然后在你的javascript中
$("#goBtn").click(function(){
var data = {};
data["ajax"] = true;
$("#updateForm input").each(function(){
var $this = $(this);
var type = $this.attr('type');
if(type != "button" && $this.val() != $this.attr("data-val"))
data[$this.attr("name")] = $this.val();
});
if(data.length > 0){
$.ajax({
method: "POST",
url: this.form.action,
data: data
})
.done(function( msg ) {
if(msg['status']=='fail'){
$('#errormsg span').html(msg['msg']);
$('#errormsg').show();
} else {
$.each(data, function(index, value){
$('updateForm input[name="'+index+'"]').attr("data-val", value);
});
}
// then do things
});
}
});
首先检查每个输入是否有变化(data-val
保持原始值)并将其添加到数据中,如果有任何变化则调用ajax,如果成功则更新{{1每个更改的值的其他值,否则它将留给另一个提交