2011-04-07 42 views
0

我有下面的ajax表單。在我有2個文本框的形式。有一個單選按鈕可以選擇解鎖和重置密碼。我想在這裏做的是如果我選擇解鎖密碼標籤和文本框應該消失。只有標籤和文本框都是純html,我纔可以在下面的JavaScript函數中執行此操作。如果我這樣做,那麼Ajax不會提取密碼的值。非常感謝您的幫助。html.textbox javascript/jquery

<input name="rblTooType" value="Unlock" type="radio" checked="checked" onclick="rblToolType_OnChange(true)" />Unlock 
<input name="rblTooType" value="reset" type="radio" onclick="rblToolType_OnChange(false)" />reset Password 

@using(Ajax.BeginForm("Search","User",new AjaxOptions { 
       UpdateTargetId = "divResults"  
      })){ 
      @Html.Label("UserName") 
     @Html.TextBox("term") 
     @Html.Label("Password") 
     @Html.TextBox("Password") 
    <input id="btnSubmit" type="submit" value="Unlock"/> 
    } 

    <script type="text/javascript"> 
     function rblToolType_OnChange(isUnlock) { 
      if (isUnlock) { 
       Password.style.display = "none"; 
       btnSubmit.value = "Unlock"; 
      } 
      else { 
       Password.style.display = ""; 
       btnSubmit.value = "reset Password"; 
      } 
     } 
    </script> 

回答

0

你似乎依賴於IE的老怪癖,其中元素名稱和id被添加爲全局變量。依賴它是不好的做法,因爲其他瀏覽器不支持它(從一開始這是一個非常糟糕的主意)。正確引用你的表單元素,它應該工作。例如

function rblToolType_OnChange(isUnlock) { 
     var form = document.forms['<form name>'] 
     if (isUnlock) { 
      form.Password.style.display = "none"; 
      form.btnSubmit.value = "Unlock"; 
     } 
     else { 
      form.Password.style.display = ""; 
      form.btnSubmit.value = "reset Password"; 
     } 
    } 
+0

謝謝你..它完美的作品。我有另一個問題..我嘗試了同樣的標籤..但它似乎沒有工作。任何建議?!你是一個明星! – guddip 2011-04-07 01:32:46

+0

對於標籤,給它一個id,然後使用document.getElementById()來獲得一個引用。 – RobG 2011-04-07 05:47:10