2016-04-15 61 views
0

目前的情况:编辑输入字段一起而不是单独

现在我有在其中您可以编辑和保存输入字段的每个记录的形式。即名,姓,电子邮件等。 我没有得到任何错误,一切工作正常。

要求:

现在我要救&编辑firstNamelastName输入字段在一起反而是编辑和单独保存firstNamelastName输入字段的内容。 现在他们都是不同的输入ID。

问:

我怎样才能通过调用firstNamelastName同一类,如果我想在同一时间有一个按钮来编辑这些实现这一目标?

这是一种方法吗?谢谢...

代码:

$("#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); 
     } 
    }); 
+1

它是一个简单的任务。为'firstname'和'lastname'创建一个按钮,然后单击该按钮将两个字段数据一起传递到一个对象中,并根据需要执行操作。 –

回答

1

首先的。保存每个按键都不好,并会耗尽您的服务器。 我推荐你使用onChange或提交提交按钮

提交按钮是一个更好的解决方案。

让我们假设我们有这个网站:

<form id="updateForm"> 
    <input type="text" id="firstN" name="firstName" data-val="Ris" value="Ris"> 
    . 
    . 
    . 
    <input type="button" value="submit" id="goBtn"> 
</form> 

第一组数据-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,如果它成功,则更新每个更改值的data-val,否则将其留给另一个提交

相关问题