我有下面的ajax表单。在表单中,我有两个文本框。有一个单选按钮可以在解锁和重置密码之间进行选择。我想在这里做的是,如果我选择解锁密码标签和文本框应该消失。只有在标签和文本框是纯html的情况下,我才能用下面的javascript函数做到这一点。如果我这样做了,Ajax就不会获取password的值。非常感谢您的帮助。
<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>发布于 2011-04-07 08:55:41
您似乎依赖于IE的一个古老的怪癖,即添加元素名称和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";
}
}https://stackoverflow.com/questions/5574525
复制相似问题