html.textbox javascript / jquery - PullRequest
       23

html.textbox javascript / jquery

0 голосов
/ 07 апреля 2011

У меня есть форма Ajax ниже.В форме у меня есть 2 текстовых поля.Есть радио-кнопка для выбора между разблокировкой и сбросом пароля.Все, что я хочу сделать здесь - это выбрать метку пароля разблокировки и текстовое поле должно исчезнуть.Я мог бы сделать это с помощью функции JavaScript ниже, только если метка и текстовое поле были чисто HTML.Если я это сделаю, Ajax не получит значение пароля.Ваша помощь очень ценится.

<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>

1 Ответ

0 голосов
/ 07 апреля 2011

Вы, похоже, зависели от старой причуды IE, когда имена элементов и идентификаторы были добавлены в качестве глобальных переменных. Это плохая практика, потому что другие браузеры не поддерживают ее (это была очень плохая идея с самого начала). Ссылка на элементы формы правильно, и это должно работать. например,

    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";
        }
    }
...