Эй, вы, программисты, очень помогали мне в прошлом, поэтому я решил снова задать свой вопрос здесь.Это, вероятно, простое исправление, но я новичок в JavaScript и Ajax.
Я работаю с Ajax, который записывает в текст отклика сообщение «LOCATION NOT FOUND», если оно не найдено, когда текстовое поле теряет фокус.Что я хотел бы сделать, это запретить отправку формы, если присутствует этот responseText.Я знаю, как предотвратить отправку формы, если скрытое поле имеет значение LOCATION NOT FOUND, поэтому я подумал, что JavaScript может заполнить скрытое поле с помощью responseText, возможно, будет самым простым решением?Не уверен, что это сработает или как это сделать.
Вот мой текущий JS:
<script type="text/javascript">
<!--
function newXMLHttpRequest()
{
var xmlreq = false;
if (window.XMLHttpRequest)
{
xmlreq = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
try
{
xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e2)
{
alert("Error: Unable to create an XMLHttpRequest.");
}
}
return xmlreq;
}
function getLocation(locationrouting)
{
var getLocation= newXMLHttpRequest(); // sending request
getLocation.open("GET", "/PP?PAGE=GETLOCATIONNAME&ROUTINGNUM=" + locationrouting, false);
getLocation.send(null); // getting location
var dv = document.getElementById("location_div");
if (getlocation.responseText === 'LOCATION NOT FOUND')
{
dv.style.color = "red";
}
else
{
dv.style.color = "black";
}
dv.innerHTML = getLocation.responseText;
}
//-->
</script>
Вот соответствующая часть формы:
<form name="locationform" id="locationform" action="/PP?PAGE=POSTADDLOCATION" method="post">
<tr>
<td class="ajax_msg">
<div id="location_div">/div>
</td>
</tr>
<tr>
<td>
<div class="column1" id="locationrouting_div">
<p class="label_top">
*Routing Number</p>
<p class="field_top">
<input type="text" id="locationrouting" name="locationrouting" size="28" maxlength="9" onblur="getLocation(this.value);" /></p>
...
Заранее спасибо!