ねえ、あなたのプログラマーは過去に私に非常に助けてくれたので、ここでもう一度質問したいと思いました。おそらく簡単な修正ですが、JavaScriptとAjaxは初めてです。
私が取り組んでいるのは、テキストフィールドがフォーカスを失ったときに見つからない場合に「LOCATIONNOTFOUND」という応答テキストに書き込むAjaxです。私がしたいのは、このresponseTextが存在する場合にフォームが送信されないようにすることです。非表示フィールドの値がLOCATIONNOTFOUNDの場合にフォームが送信されないようにする方法を知っているので、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>
...
前もって感謝します!