Frage

Ich habe eine Benutzerpräferenz Seite, in der der Benutzer sein aktuelles Passwort, neues Passwort ein und bestätigt neues Passwort eingeben kann. Wenn der Benutzer das Formular sendet er sendet sie an einer Aktion. Das Problem ist, dass, wenn das Formular abschickt, bleiben die Passwortfelder ausgefüllt. Ich möchte sie löschen. Ich habe versucht, Javascript, aber wenn ich document.preferences.submit () verwenden, die nicht vorlegen abgefeuert wird, oder die Aktion nicht gefeuert, oder beides. Hier ist der Code:

<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>
    <% } %>
War es hilfreich?

Lösung

  • Debuggen von JavaScript Probleme, besser schreiben die erzeugte HTML
  • Zum Debuggen JavaScript Problemen einfacher, Firefox-Browser mit Firebug-Erweiterung verwenden.

Edit: Sie versuchen, das Kennwort zu löschen, nachdem Seite vorgelegt. Nach Vorlage Seite zu einer anderen Seite navigiert, so denke ich, wird kein JavaScript keine DOM-Elemente danach beeinflussen.

Sie können versuchen, die folgende Sequenz.

  • Shop Benutzername und Kennwort auf JavaScript-Variablen.
  • clear Benutzername und Kennwort Werte.
  • Post auf die Seite mit den gespeicherten Werten.

Andere Tipps

Es könnte Ihr Browser Füllung im Passwort-Feld, wenn Sie es haben Satz Ihr Passwort zu erinnern (s). Ich habe dies mit mir geschehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top