2014-04-02 188 views
0

我使用SQL Server 2012的允许用户使用jQuery

在这种发展中的ASP.NET MVC5一个项目,以更新文本框的值中的一个,因为我有在那里用户点击编辑按钮,模式弹出场景打开电子邮件地址(用户可以更改它);用户更改新电子邮件应存储的电子邮件的值后。

我的代码如下:

<tr> 
    <th>Email</th> 
    <td> 
    <input id="txtEmailId" name="txtEmailId"type="text" class="form-control" 
    placeholder="Email" size="254" style="width: 200px;" 
    value="@ViewBag.EmailAddress"/> 
    </td> 
</tr> 

js代码是如下: //保存个人资料的电子邮件地址

$("#btnSaveProfile").click(function (e) { 
    debugger; 
// var test = document.getElementById("txtEmail"); 
    var userEmail = $("#txtEmailId").val(); 
    alert(userEmail); 
    $.ajax({ 
      type: "POST", 
      url: '/UserProfile/SaveUserDetails?EmailAddress=' + userEmail, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      async: true, 
      success: function (data) { 
       if (data == "OK") { 
        alert("Email Saved") 

       } 
      }, 
      error: function (msg) { 
       alert("Error :" + msg.responseText); 
      } 
     }); 

}) 

但它节省了旧的电子邮件地址。

+1

使用了'$(“txtEmail”)VAL()',但在你的例子标记不存在 - 你。使用'txtEmailId',这只是你的问题中的一个错字? – billyonecan

+1

在您的HTML中,输入具有'txtEmailId'作为其Id。在你的代码中你使用'#txtEmail'。一个错字? –

+0

@billyonecan我的错误,同时复制粘贴代码窗体项目 – user3480139

回答

0

你引用了错误的输入吗?如果你使用:

$("#txtEmailId").val(); 
+0

感谢您的评论,但从项目复制粘贴错误。 – user3480139

+0

那么你是否约束了价值呢? value =“@ ViewBag.EmailAddress” –

+0

我检查过它,我认为这是因为这个。但是当模态弹出时,我需要在文本框中显示一些值;这就是为什么我这样做。有没有其他方法可以做到这一点? – user3480139

0

在模式弹出按钮可能需要触发脚本,新的值赋给输入字段$(“#txtEmailId”)。

用于模态弹出窗口的示例html。

<div class="modal-pop-up"> 
    <input type="text" id="new-email" name="new-email"> 
    <button id="save-btn">Assign New Email</button> 
</div> 

用于模态弹出的示例脚本。

$("#save-btn").on('click', function(e){ 
    var $newEmail = $('#new-email').val(); 
    $("#txtEmailId").val($newEmail); 
    // close modal 
}); 

然而,你可能并不真的需要一个模式弹出只允许用户修改在原始形式的单个字段。

看来你不分配数据属性:

 $.ajax({ 
      type: "POST", 
      url: '/UserProfile/SaveUserDetails?EmailAddress=' + userEmail, 
      contentType: "application/json; charset=utf-8", 
      data: { EmailAddress: userEmail } /* assign data property */ 
      dataType: "json", 
      async: true, 
      success: function (data) { 
       if (data == "OK") { 
        alert("Email Saved") 

       } 
      }, 
      error: function (msg) { 
       alert("Error :" + msg.responseText); 
      } 
     });