使用javascript验证Ajax组合框
Validate Ajax Combobox using javascript
我在代码中使用ajax组合框代替dropdownlist,现在我想在客户端。我选择使用javascript并使用以下代码进行验证:
function validateCombobox(){
var comboboxId = document.getElementById('<%=ComboBox1.ClientID%>');
if(comboboxId.value=="some value") {
alert("Error");
}
}
但我无法验证combobox。
我的html代码是:
<asp:ComboBox ID="ComboBox1" runat="server"
AutoCompleteMode="Suggest"
CaseSensitive="false"
DropDownStyle="DropDownList">
</asp:ComboBox>
ASP在浏览器上生成的代码:
<div onchange="javascript:setTimeout('__doPostBack(''ctl00$ctl00$ContentPlaceHolder$ContentPlaceHolder1$unit'','''')', 0)"
id="ctl00_ctl00_ContentPlaceHolder_ContentPlaceHolder1_unit" style="display:inline;">
<table id="ctl00_ctl00_ContentPlaceHolder_ContentPlaceHolder1_unit_unit_Table"
class="ajax__combobox_inputcontainer" cellspacing="0" cellpadding="0" border="0"
style=
"border-width:0px;border-style:None;border-collapse:collapse;display:inline;position:relative;top:5px;">
<tr>
<td class="ajax__combobox_textboxcontainer">
<input type="text" autocomplete="off" style="width:150px;"
name="ctl00$ctl00$ContentPlaceHolder$ContentPlaceHolder1$unit$unit_TextBox"
id="ctl00_ctl00_ContentPlaceHolder_ContentPlaceHolder1_unit_unit_TextBox" />
</td>
<td class="ajax__combobox_buttoncontainer">
<button type="button"
id="ctl00_ctl00_ContentPlaceHolder_ContentPlaceHolder1_unit_unit_Button">
</button>
</td>
</tr>
</table>
<ul id="ctl00_ctl00_ContentPlaceHolder_ContentPlaceHolder1_unit_unit_OptionList"
class="ajax__combobox_itemlist" style="display:none;visibility:hidden;">
<li>GM</li>
<li>KG</li>
</ul>
<input type="hidden" value="0"
name="ctl00$ctl00$ContentPlaceHolder$ContentPlaceHolder1$unit$unit_HiddenField"'
id="ctl00_ctl00_ContentPlaceHolder_ContentPlaceHolder1_unit_unit_HiddenField"/>
</div>
借助@Sethu和@Scott给出的答案获得解决方案:
我使用以下代码:
function validateCombobox(){
var comboBox = document.getElementById('<%=ComboBox1.ClientID%>_ComboBox1_TextBox');
if(comboBox.value=="some value")
{
alert("Error");
}
}
组合框在客户端创建多个html。
最初,该值存储在一个隐藏字段中。
function validateCombobox()
{
var comboCotainer= document.getElementById('<%=ComboBox1.ClientID%>');
var hdnField = FindChild(comboCotainer);
if(hdnField != null && hdnField.value == "-1")
{
alert("Error");
}
}
function FindChild(container) {
var hiddenControl = null;
if (container.children && container.children.length > 0) {
for (var i = 0; i < container.children.length; i++) {
if (container.children[i].type == "hidden") {
hiddenControl = container.children[i];
break;
}
}
}
return hiddenControl;
}
jquery的位将消除FindChild函数
如果您使用Jquery,请使用以下代码
function validateCombobox() {
var selectedVal = $('#<%=ComboBox1.ClientID%> input[type=hidden]').val();
if (selectedVal == "-1") {
alert("Error");
}
}
隐藏控件保存所选项目的索引,因此检查-1或非负值
试试这个。
function validateCombobox(){
var comboboxObject = document.getElementById('<%=ComboBox1.ClientID%>');
var inputs = comboboxObject.getElementsByTagName('input');
for (i = 0; i < inputs.length; i++) {
if (inputs[i].type == 'text' && inputs[i].value == "some value") {
alert("Error");
break; //why loop further?
}
}
}
相关文章:
- 使用javascript验证Ajax组合框
- 任何人都知道如何在asp.net telerik asp.net AJAX UI中创建自下而上的组合框
- 将多个 AJAX 成功调用组合为一个
- 在highcharts组合图中传递Ajax数据
- jquery autoComplete 组合框不适用于通过 ajax 加载的新元素
- 如何组合我的 AJAX 脚本和切换脚本
- Ajax,PHP,Javascript在组合框选择后从数据库中提取值
- JavaScript 用 ajax 填充组合框,但在 C# 中,所选值为 null
- JQuery/Ajax:如何将多个 ajaxes 组合成一个具有响应的异步 ajax
- 如何组合两个 javascript 以包含服务器时间而不是用户时间的 ajax 调用
- 根据组合框中的选定值自动填充表单,使用 Jquery 和 Ajax
- 将组合框的选定值作为参数传递给使用 AJAX 或 JavaScript 的特定 PHP 函数
- 如何组合来自不同JS文件的对Ajax数据库的多次调用
- 为多种表单组合ajax代码
- ExtJS-AJAX调用后无法重新加载组合
- 多个脚本文件通过ajax或组合所有
- 混淆了slim框架和javascript ajax的组合
- Codeigniter和Ajax的组合
- Backbone有办法组合ajax请求吗?
- Ajax加载复选框后选择组合框- php