アプリ版:「スタンプのみでお礼する」機能のリリースについて

xmlhttprequest.comにあるxmlhttprequest.jsを使って、
会社の問い合わせページとして、URLやコメント等を入力して
送信できるメールフォームのページを作っています。
存在しないURLを入力した場合はエラーを返すようにしたのですが、
今度は、メールフォームのコマンドが実行されなくなって
しまいました。
どこがおかしいのかご教示いただきたく。

<html><head><title>お問い合せ</title>
<script type="text/javascript" src="xmlhttprequest.js"></script>
<script type="text/javascript"><!--
xhobj = new XMLHttpRequest();
LoadFlg = 0;
function init(){
}
function go(){
document.form2.Url.value = "http://www.google.co.jp/" + document.form1.Url.value;
document.form2.comment.value = document.form1.comment.value;
if ( all_check(document.form1) ){
document.form2.submit();
}
}

function all_check(form){
if( !(nullCheck(form.Url,"URLを")) ){
return false;
}
if( !(nullCheck(form.comment,"問合せ内容を")) ){
return false;
}
if( !(stateCheck(form.Url)) ){
return false;
}
return true;
}

function alert_focus(obj,str){
alert(str + "入力してください。");
obj.focus();
}

function nullCheck(obj,str){
if (obj.value == "" || obj.value == null){
alert_focus(obj,str);
return false;
}else{
return true;
}
}

function stateCheck(obj){
if(xhobj == null){
alert("お使いのブラウザは対応していません。");
return false;
}

if(LoadFlg == 0){
LoadFlg = 1;
xhobj.onreadystatechange = handleXHRequest;
xhobj.open("GET", "http://www.google.co.jp/"+ obj.value, true);
xhobj.send(null);
} else {
LoadFlg = 0;
xhobj.abort();
return true;
}
}

function handleXHRequest(){
if(xhobj.readyState == 4){
if(LoadFlg == 1){
if(xhobj.status != 200){
form1.state.value=xhobj.status;
alert("存在しているURLを入力してください。");
return false;
}
xhobj.abort();
LoadFlg = 0;
}
return true;
}
}

// --></script>
</head>
<body onLoad="init();">
<form name="form1" id="form1" method="get" action="javascript: go();">
ページURL:http://www.google.co.jp/<input name="Url" id="Url" type="text" value=""><br>
用件:<textarea name="comment"></textarea><br>
<input type="reset" value="取消"><input type="submit" value="送信"><br>
ステータス確認用:<input name="state" type="text" value="">
</form>
<form name="form2" id="form2" method="post" action="http://URL/mail/">
<input type="hidden" name="subject" value="問合せメール">
<input type="hidden" name="Url" value="">
<input type="hidden" name="comment" value="">
</form>
</body></html>

A 回答 (1件)

jsでは難しいですね



たとえばphpなどをつかえばcheckdnsrr()をつかって
判断するなど可能かもしれません。
結局ajaxなどクロスサイトには使用できないので

この回答への補足

すみません、うち会社のサーバーにはサーバースクリプトを設置できない都合がありまして…確かにPHPが使えれば楽なのですが。参考になりました。ありがとうございます。

補足日時:2010/03/03 22:22
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!