【发布时间】:2019-02-09 05:21:25
【问题描述】:
我正在尝试根据 DropDownList selection 验证 TextBox,这意味着如果用户从 DropDownList 中选择 E-mail 或 SMS 或 both 它会根据用户选择的内容显示 TextBoxs。让我们说出他们选择的电子邮件并显示一个文本框让用户输入他们的电子邮件,让他们说他们忘记输入电子邮件地址(留空)然后点击按钮,这里我想显示警报(“你忘记输入你的电子邮件”)。
为此,我做了如下操作,但问题是当用户 select 来自下拉列表的电子邮件显示警报时,我不希望这样做,我希望当用户从 DDL 选择电子邮件时,它会显示一个文本框和如果文本框为空显示警报(),那我做错了什么!谁能帮助我或指出正确的方向! :)
提前致谢。
HTML:
<div class="col-md-6">
<div class="form-group">
<select class="form-control border-input" id="ddlsmsemailboth" name="ddlsmsemailboth">
<option value="">- Select -</option>
<option value="S">SMS</option>
<option value="M">E-mail</option>
<option value="B">SMS/Email</option>
</select>
<div id="dvkemail" style="display: none">
<label class="form-control-label">Enter E-mail</label>
<input name="EmailContact" id="EmailContact" type="text" class="form-control border-input">
</div>
<div id="dvksms" style="display: none">
<label class="form-control-label">Enter phone number </label>
<input name="Telefonnummer" id="Telefonnummer" type="tel" placeholder="4512345678" class="form-control border-input">
</div>
<div id="dvkboth" style="display: none">
<label class="form-control-label">Enter phone number </label>
<input name="Telefonnummer" id="Telefonnummer" type="tel" placeholder="4512345678" class="form-control border-input">
<label class="form-control-label">Enter E-mail</label>
<input name="EmailContact" id="EmailContact" type="text" class="form-control border-input">
<button id="btnSubmitRMA" type="submit" class="btn">Submit</button>
</div>
</div>
</div>
JavaScript:
$("#btnSubmitRMA").click(function (e) {
e.preventDefault();
RMAfunction();
});
function RMAfunction() {
$("#ddlsmsemailboth").change(function () {
if ($(this).val() == "M") {
if ($('input[name=EmailContact]').val() == "") {
alert("Empty");
return false;
}
}
});
});
JavaScript(根据下拉选择值隐藏/显示 texbox):
$(function () {
$("#ddlsmsemailboth").change(function () {
if ($(this).val() == "S") {
$("#dvksms").show();
$("#dvkemail").hide();
$("#dvkboth").hide();
}
else if ($(this).val() == "M") {
$("#dvkemail").show();
$("#dvksms").hide();
$("#dvkboth").hide();
}
else if ($(this).val() == "B") {
$("#dvkboth").show();
$("#dvkemail").hide();
$("#dvksms").hide();
}
else {
$("#dvkboth").hide();
$("#dvkemail").hide();
$("#dvksms").hide();
}
});
});
【问题讨论】:
-
让我们知道您到底想做什么?这段代码 if ($(this).val() == "M") { if ($('input[name=EmailContact]').val() == "") { alert("Empty") ;返回假; } } 检查所选值是否为“M”,即电子邮件是否有价值。由于不存在任何值,因此警报来了
-
你在提交表单的时候尝试过吗?
-
@M3ghana 是的,当我从 DDL 选择电子邮件时,它会显示一个文本框,如果文本框为空,则显示 alert();
标签: javascript jquery