隐藏/禁用Ajax表单的提交按钮,直到从下拉列表中做出选择
Hiding/Disabling the submit button for an Ajax form until a selection is made from dropdown list
我想隐藏(或禁用)Ajax表单的提交按钮,直到从下拉列表(@Html.DropDownList)中进行选择
的形式是这样的:
@using (Ajax.BeginForm("RoleAddToUser", "Roles", new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "middle_column", HttpMethod = "POST" }, new { id = "RoleAddToUserForm" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<p>
User : @Html.DropDownList("UserName", (IEnumerable<SelectListItem>)ViewBag.Users, "Select ...")
Role : @Html.DropDownList("RoleName", (IEnumerable<SelectListItem>)ViewBag.Roles, "Select ...")
</p>
<input type="button" name="SubmitBtn1" value="Send" onclick="$('#RoleAddToUserForm').submit(); " />
}
我假设有一种方法可以检测除"select…"之外的值。(默认的),然后启用/显示提交按钮,使用Javascript。
我也明白这对于大多数Js粉丝来说可能是微不足道的,但我通常不使用cshtml或javascript,这是非常令人沮丧的lol
如果它有帮助,问题文件是来自mvc程序的cshtml
为按钮添加disabled="disabled"
属性。这样它就会被禁用。当你想启用它,使用jQuery启用$('#id').removeAttr('disabled')
使用change event来检测值
$("select").on("change",function(){
if($(this).val()){
$("input[name='SubmitBtn1']").prop("disabled",false);
}
esle{
$("input[name='SubmitBtn1']").prop("disabled",true);
}
});
我相信有更优雅的方式来做到这一点,但这似乎工作:
我将id="SubmitBtn1" style="display:none" 添加到按钮中,然后使用
<script type="text/javascript">
//On change
$('#UserName').change(
function checkValue() {
//Check if the dropdownlist's value is equal to the default
if ($('#UserName').val() == "") {
//if it is, hide it/keep hidden
hide_item('SubmitBtn1');
return
}
//otherwise show it
show_item('SubmitBtn1');
});
function show_item(id) {
var el = document.getElementById(id);
el.style.display = 'inline-block';
};
function hide_item(id) {
var el = document.getElementById(id);
el.style.display = 'none';
};
</script>
反馈?
相关文章:
- 将下拉列表“选择值”传递到 URL
- 禁用基于下拉列表选择 asp.net JavaScript 启用文本框
- 下拉列表<选择>为列表.js
- 经典 ASP - 下拉列表:选择与第一个下拉列表具有相同值的所有下拉列表
- 映射下拉列表选择到URL
- 删除基于先前下拉列表选择的“选择下拉列表”选项
- 下拉列表选择的值在UI淘汰js中没有更新
- 如何将 ID 分配给动态下拉列表选择
- 使用 dojo 将鼠标悬停在动态下拉列表选择上时添加工具提示
- 链接下拉列表选择列表代码 -- 连接数据
- Javascript 不遵循下拉列表选择
- 检索引导下拉列表选择文本
- 表单事件更改不适用于下拉列表选择
- 无法检测加载时的选择/下拉列表选择事件
- 如果另一个下拉列表选择发生更改,则重置另一个下拉列表
- 基于复选框和下拉列表选择优化列表
- 使用 AJAX 和 ORACLE 以及不使用 php 填充下拉列表(选择 )
- 如何在jQuery弹出窗口中显示下拉列表选择列表并检索所选值
- 调用 java 方法,从 jsp 中的下拉列表选择中设置参数值
- 使用列表而不是选项进行下拉列表选择