2009-03-05 6 views
0

사용자가 현재 암호, 새 암호 및 새 암호를 입력 할 수있는 사용자 기본 설정 페이지가 있습니다. 사용자가 양식을 제출하면 작업으로 보냅니다. 문제는 양식을 제출할 때 암호 필드가 계속 채워지는 것입니다. 나는 그들에게 분명히하길 바란다. 자바 스크립트를 시도했지만 document.preferences.submit()을 사용할 때 제출이 시작되지 않았거나 작업이 시작되지 않았습니다. 여기 코드는 다음과 같습니다asp.net mvc에서 제출시 암호 필드가 지워지지 않음

자바 스크립트 디버깅 문제에
<script language="JavaScript" type="text/javascript"> 
    function clearpwd() { 
     document.preferences.submit(); 
     document.preferences.currentPassword.value = ''; 
     document.preferences.newPassword.value = ''; 
     document.preferences.confirmPassword.value = ''; 
    } 
</script> 
<% using (Html.BeginForm("ChangePreferences", "Home", FormMethod.Post, new { id="preferences", name="preferences" })) { %> 
     <div> 
      <div style="text-align:left; width:500px;"> 
      <div class="FormLabel">User Information:</div> 
      <table border="0" cellpadding="4" cellspacing="0"> 
       <tr> 
        <td>First Name:</td> 
        <td> 
         <%= Html.TextBox("firstName")%> 
         <%= Html.ValidationMessage("FirstName") %> 
        </td> 
       </tr> 
       <tr> 
        <td>Last Name:</td> 
        <td> 
         <%= Html.TextBox("lastName") %> 
         <%= Html.ValidationMessage("LastName") %> 
        </td> 
       </tr> 
       <tr> 
        <td>New email:</td> 
        <td> 
         <%= Html.TextBox("email")%> 
         <%= Html.ValidationMessage("Email") %> 
        </td> 
       </tr> 
       <tr> 
        <td>Billing Method:</td> 
        <td> 
          <%=Html.RadioButton("billingMethod", 'E', new { id = "BillingMethod_E", value = 'E' })%><label for="BillingMethod_E">Electronic</label> 

          <%=Html.RadioButton("billingMethod", 'M', new { id = "BillingMethod_M", value = 'M' })%><label for="BillingMethod_M">Mailing</label> 
        </td> 
       </tr> 

      </table> 
      </div> 
      <br /><br /> 

      <div style="text-align:left; width:500px;"> 
      <div class="FormLabel">Login and Security Information:</div> 
      <table border="0" cellpadding="4" cellspacing="0"> 
       <tr> 
        <td>Current Password</td> 
        <td> 
         <%= Html.Password("currentPassword") %> 
         <%= Html.ValidationMessage("currentPassword") %> 
        </td> 
       </tr> 
       <tr> 
        <td>New password:</td> 
        <td> 
         <%= Html.Password("newPassword") %> 
         <%= Html.ValidationMessage("newPassword") %> 
        </td> 
       </tr> 
       <tr> 
        <td>Confirm new password:</td> 
        <td> 
         <%= Html.Password("confirmPassword") %> 
         <%= Html.ValidationMessage("confirmPassword") %> 
        </td> 
       </tr> 
       <tr> 
        <td>Security Question:</td> 
        <td> 
         <%= Html.TextBox("securityQuestion") %> 
         <%= Html.ValidationMessage("SecurityQuestion") %> 
        </td> 
       </tr> 
       <tr> 
        <td>Security Answer:</td> 
        <td> 
         <%= Html.Password("securityAnswer") %> 
         <%= Html.ValidationMessage("SecurityAnswer") %> 
        </td> 
       </tr>   
      </table> 
      </div> 
      <br /><br /> 
      <table> 
       <tr> 
        <td></td> 
        <td><input type="submit" value="Change Preferences" onclick="clearpwd()" /></td> 
       </tr> 
      </table> 
     </div> 
    <% } %> 
+0

답변이 없지만 브라우저의 암호 관리자가 암호 필드를 저장하고 미리 채우지 않았는지 확인 했습니까? :) – muerte

답변

1
  • 이 더 나은, 자바 스크립트 문제를 쉽게 디버그에 생성 된 HTML
  • 을 게시 방화범이 끌려 확장과 파이어 폭스 브라우저를 사용합니다.

편집 : 페이지를 제출 한 후 암호를 지우려고합니다. 제출 페이지가 다른 페이지로 이동 한 후에는 JavaScript가 DOM 요소에 영향을 미치지 않습니다.

다음 순서로 시도 할 수 있습니다.

  • 자바 스크립트 변수에 사용자 이름과 비밀번호를 저장하십시오.
  • 사용자 이름 및 암호 값이 분명합니다.
  • 저장된 값으로 페이지에 게시하십시오.
0

암호를 기억하도록 설정 한 경우 암호 입력란에 브라우저가 표시 될 수 있습니다. 나는 이것이 나에게 일어났습니다.