【发布时间】:2023-03-27 18:08:01
【问题描述】:
你好,
目前我无法验证通过 ajax 调用加载数据的文本框。
在下面找到代码sn-p
JSP 页面:
<input type="text" id="carrierName_ajax" name="carrierName" class="field_size_e" onfocus="showRegion(this.value)" onBlur="checkValidCarrierName()"/>
<input readonly class="field_size_d block" id="tier_ajax" type="text" name="carrierTier" onkeydown="return false;"/>
<input readonly type="text" id="regionName_ajax" name="carrierRegion" class="field_size_e block" onkeydown="return false;"/>
Javascript
$(function(){
$("input#carrierName_ajax").autocomplete("/maintenance/supportedCarrierSuggestions.jsp?command=supportedCarrier-suggestion", {
});
var carrname = document.getElementById('carrierName_ajax').value;
if(carrname.indexOf("&") != -1){
var res = carrname.replace("&","'||chr(38)||'");
$.get('/maintenance/supportedCarrierSuggestions.jsp?command=supportedCarrierId-suggestion&carrier='+res,{ "_": $.now() }, function(responseData) {
$("#carrRefId").val(responseData);
});
}
else
{
$.get('/maintenance/supportedCarrierSuggestions.jsp?command=supportedCarrierId-suggestion&carrier='+carrname,{ "_": $.now() }, function(responseData) {
$("#carrRefId").val(responseData);
});
}
});
function showRegion(data){
/*Modified for Defect ID :219*/
if((data!=null)&&(data!=""))
{
if(data.indexOf("&") != -1){
var res = data.replace("&","'||chr(38)||'");
$.get('/maintenance/supportedCarrierSuggestions.jsp?command=supportedCarrierRegion-suggestion&carrier='+res,{ "_": $.now() }, function(responseData) {
$("#regionName_ajax").val($.trim(responseData));
});
$.get('/maintenance/supportedCarrierSuggestions.jsp?command=supportedCarrierTier-suggestion&carrier='+res, { "_": $.now() },function(responseData) {
$("#tier_ajax").val($.trim(responseData));
});
}
else{
$.get('/maintenance/supportedCarrierSuggestions.jsp?command=supportedCarrierRegion-suggestion&carrier='+data,{ "_": $.now() }, function(responseData) {
$("#regionName_ajax").val($.trim(responseData));
});
$.get('/maintenance/supportedCarrierSuggestions.jsp?command=supportedCarrierTier-suggestion&carrier='+data,{ "_": $.now() }, function(responseData) {
$("#tier_ajax").val($.trim(responseData));
});
}
}
function checkValidCarrierName()
{
// alert('here');
var carrierName = $('#carrierName_ajax').val();
// alert(carrierName);
var carrRegion = document.getElementById('regionName_ajax').value;
//alert(carrRegion);
var carrTier = document.getElementById('tier_ajax').value;
//alert(carrTier);
if(carrierName==null || carrierName=="")
{
alert('Enter valid carrier name');
document.getElementById('regionName_ajax').value = "";
document.getElementById('tier_ajax').value = "";
return false;
}
else
{
if ((carrRegion==null || carrRegion=="") || (carrTier==null || carrTier==""))
{
alert('Enter valid carrier name :'+carrierName);
return false;
}
else
{
return true;
}
}
这里我的运营商名称文本框是使用自动完成加载的。每当在运营商文本框中选择一个值时,它将填充区域和层文本框。
现在的问题是,如果用户在运营商文本框中输入任何错误的值,即。 '只有我们'而不是天气。
我必须验证输入的值是否错误。我正在使用 onblur 函数验证。但它甚至会在从填充的下拉列表中选择之前检查用户自己输入第一个字母的时间
有人可以帮我吗?
【问题讨论】:
标签: javascript jquery ajax