我有以下ajax表格。在表格中我有2个文本框。在解锁和重置密码之间有一个单选按钮可供选择。我想在这里做的就是如果我选择解锁密码标签,文本框就会消失。只有当标签和文本框是纯HTML时,我才可以使用以下javascript函数执行此操作。如果我这样做,那么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>
答案 0 :(得分:0)
您似乎依赖于IE的旧怪癖,其中元素名称和ID被添加为全局变量。依靠它是不好的做法,因为其他浏览器不支持它(从一开始就是一个非常糟糕的主意)。正确引用表单元素,它应该工作。 e.g。
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";
}
}