• ベストアンサー

入力ホームが作動しない

私はプログラマーではありませんが、HTML、JAVAの辞典かってドリームウィバーで、個人のHPをつくっています。HPをリニューアルしようとしていまして、入力ホームを作っているのです。 <head> <script language="JavaScript"> <!-- fanction check(){ mail=document.form1.mail.value; if(document.form1.names.value==""){ alert("お名前を入力ください、Your name?") document.form1.names.forcus(); return false; }else if(mail.indexOf("@",0)<0){ alert("メールアドレスの入力を願います、Mail address?") document.form1.mail.forcus(); document.form1.mail.select(); return false; } alert("ありがとうございました。Thank you!") return true; } //--> </script> </head> <body><p><font color="#333333"> *ご依頼、お問い合わせなどは、メールにて。<br> 返信の際、電話番号などお知らせいたします。</font></p><hr> <form name="form1"action="~@bekkoame.ne.jp" Method="post" onSubmit="return check()"> お名前(name):<input type="text"name="names"size="15"><p> メール(mail add):<input type="text"name="mail"size="30"><p> 内 容(comment):<br><textarea name="text"cols="40"rows="5"> </textarea> <input type="submit" value="送信"> </body> ですが、サファリでも、IE5でも作動しないのですが 何故なのかわからづに居ます。同じページに、メルマ!の入力ホームもあるのですがそれが良くないのでしょうか?そのソースは、melma!の発行タグをコピペしただけなので、問題は無いとおもうのですが、、、 action="送信したいメアド先"にしているのが間違いなのでしょうか、、、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

そもそもこのformはCGIにデータを渡すのでしょうか? それともクライアントのメーラーを起動するのでしょうか? 前者なら、actionのところにメールアドレスを書く 必要はないと思います。プログラム側で処理して ください。 後者の場合はformのactionは action="mailto:hoge@@bekkoame.ne.jp"と指定 してください? その場合メーラーに渡せる名前はきまっているので formないのエレメンツの名前を所定のものに変更 するなり、checkプログラムでメーらに渡せるような 名前に変更する必要があります。 次の段階にすすんでまだわからないことがあれば 再度ご質問なさると良いかと思います。

UNDERGROUNDMAN
質問者

補足

教えて頂きありがとうございます。 <FORM NAME="form1"action="xxxx/form.cgi" method="post" onsubmit="return check()"> と、辞典には書いてあります。 ということは、CGIに渡すものなのでしょうか? それすら、解っていないので恥ずかしいですが。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

色々と間違いがあります >fanction check(){ function check(){ >alert("お名前を入力ください、Your name?") >alert("メールアドレスの入力を願います、Mail address?") 行末に ; が必要です。 >document.form1.names.forcus(); >document.form1.mail.forcus(); forcus()→focus() </body>の前に</form>が必要です。 最後に</html>が必要です。 とりあえず、気の付いた部分を挙げてみました

UNDERGROUNDMAN
質問者

お礼

ありがとうございます。 たしかに、間違っていました。 修正いたしました。ありがとうございます。 ソース全体をお見せできれば良いのでしょうが、 800文字までしか、質問出来ないのですみません。

関連するQ&A

  • フォームメールでURL送信時、存在しないURLの入力を拒否したい

    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>

  • 入力フォームについて

    FC2のホームページを利用しています 入力フォームのサンプルを手本にして、以下のように作成しましたが 「送信ボタン」をクリックしても、メールが届きません。 どうしてでしょうか? <form action="mailto:xxx@xxx.ne.jp" enctype="text/plain" method="post"> <p><label>NAME:<br /> <input type="text" name="名前" value="" tabindex="1" accesskey="b"> </label></p> <p><label>E-MAIL:<br /> <input type="text" name="メールアドレス" value="" tabindex="2" accesskey="a"> </label></p> <p><label>感想・ご意見<br> <textarea name="title" rows="15" cols="30" tabindex="9" accesskey="i"> </textarea> </label></p> <p> <input type="reset" value="送信" tabindex="10" accesskey="s"> <input type="reset" value="取消" tabindex="11" accesskey="r"> </p> </form>

  • 2件の入力ホームを作成中ですがやり方が?

    1ページで2件の入力ホームを作成中ですがやり方がいまいち分りません。2件目に同じホームをコピーしたら、出力画面がうまくいきません?  どうしたらいいのでしょうか?以下はプログラムですが以下の全体をコピーしてエディタに貼り付けて htmlの拡張子で落とされてください。 宜しくお願い致します。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>フォームに記入した内容をサブウィンドウに表示したい</title> <script language="JavaScript"> <!-- function openSW() { f1=document.fom.r; area=""; for(i=0;i<f1.length;i++) if(f1[i].checked) area=f1[i].value; f2=document.fom.c1; season=""; for(i=0;i<f2.length;i++) if(f2[i].checked) season+=f2[i].value+"&nbsp;"; subWin=window.open("","","width=300,height=300"); subWin.document.write("地域:"+area+"<BR>"); subWin.document.write("季節:"+season+"<BR>"); subWin.document.write("国名:"+document.fom.t.value+"<BR>"); subWin.document.write("トライ:"+document.fom.ta.value+"<BR>"); subWin.document.write("季節:"+document.fom.c2.value+"<BR>"); subWin.document.close(); } //--> </script> </head> <body> <form name="fom"> ●行きたい所は?<br> <input type="radio" name="r" value="アジア">アジア <input type="radio" name="r" value="ヨーロッパ">ヨーロッパ <input type="radio" name="r" value="北中米">北中米 <input type="radio" name="r" value="アフリカ">アフリカ <input type="radio" name="r" value="オセアニア">オセアニア<br><br> ●行きたい季節は?<br> <input type="checkbox" name="c1" value="春">春 <input type="checkbox" name="c1" value="夏">夏 <input type="checkbox" name="c1" value="秋">秋 <input type="checkbox" name="c1" value="冬">冬<br><br> Q1.行きたい国名は?<br> <input type="text" name="t"><br><br> Q2.トライしてみたいことは?<br> <textarea cols="30" name="ta"></textarea><br><br> Q3.行きたい季節は?<br> <input type="text" name="c2"><br><br> <input type="button" value="データを出力する" onclick="openSW()"><BR><BR> 御入力誠に有難うご御座いました。次のお客様は次の入力画面から御入力をお願い致します。<BR><BR> ========================================================================== </form> </body> </htm

  • 送信フォームの入力内容チェックについて

    送信フォームの入力内容チェックについて 送信フォーム作成の勉強をしています。 「必須項目未記入」と「半角英数以外の文字入力」を同時にチェックする方法をお聞きしたいです。 「必須項目未記入」と「半角英数以外の文字入力」の時に赤字で警告を表示させたいです。 「必須項目未記入」は赤字で警告が表示されるのですが、「半角英数以外の文字入力」の時は赤字で警告が表示されません。。。 素人で説明不足かもしれませんが、助言をいただきたいです。 よろしくお願いいたします。 (URL↓) http://www.photoiku.com/sample/form-sample.php (Javascript↓) <script type="text/javascript"> <!-- function formCheck(){ var flag = 0; if( document . Form1 . InputText1 . value . match ( /[^0-9a-zA-Z_]+/ ) ){ flag = 1; document . getElementById( 'notice-input-text-1' ) . style . display = "block"; }else{ document . getElementById( 'notice-input-text-1' ) . style . display = "none"; } if( document . Form1 . InputText1 . value == "" ){ flag = 1; document . getElementById( 'notice-input-text-1' ) . style . display = "block"; }else{ document . getElementById( 'notice-input-text-1' ) . style . display = "none"; } if( document . Form1 . Textarea1 . value == "" ){ flag = 1; document . getElementById( 'notice-textarea-1' ) . style . display = "block"; }else{ document . getElementById( 'notice-textarea-1' ) . style . display = "none"; } if( flag ){ window . alert( '入力内容に不備があります。' ); return false; }else{ return true; } } // --> </script> (html↓) <form name="Form1" method="post" action="#" onsubmit="return formCheck()"> <p>ID(必須)(半角英数)</p> <p id="notice-input-text-1" style="display: none; color: red;"> 【半角英数で入力されているか確認して下さい】</p> <p><input type="text" name="InputText1"></p> <p>コメント(必須)</p> <p id="notice-textarea-1" style="display: none; color: red;"> 【コメントを入力して下さい】</p> <p><textarea name="Textarea1" rows="5" cols="40"></textarea></p> <p><input type="submit" value="送信"></p> </form> 補足ですが、1つ目のif~elseのブロックと、2つ目のif~elseのブロックを入れ替えてもできませんでした。

  • CheckBoxの入力チェックについて

    CheckBoxの入力チェックについて CheckBoxの数は可変です。 全て未チェックのときにalertを表示したいです。 今はチェックしてもalertが表示されてしまいます。 よろしくお願いします。 <html> <head> <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <meta name="GENERATOR" content="Microsoft FrontPage 4.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <title>チェックボックス入力チェック</title> <SCRIPT TYPE="text/javascript"> <!-- function item_check() { count = 0; for (i=0;i<=document.form1.elements['item[]'][i].length;i++){ if(document.form1.elements['item[]'][i].checked){ count++; } } if(count==0){ alert("項目を選択してください。"); return(false); } return(true); } --> </SCRIPT> </head> <body> <form name="form1" method="POST" action="test.htm" onSubmit="return item_check()"> <p><input type="checkbox" name="item[]" value="1">項目1</p> <p><input type="checkbox" name="item[]" value="2">項目2</p> <p><input type="checkbox" name="item[]" value="3">項目3</p> <p><input type="checkbox" name="item[]" value="4">項目4</p> <p><input type="checkbox" name="item[]" value="5">項目5</p> <input type="submit" name="kakunin" value="確認"> </form> </body> </html>

  • ホームページ作成・フォームの送信について

    HP作成で多分初歩的なことだと思うのですが… 入力されたフォームの内容を送信する際、メールアドレスを使おうと思っています。 <form action="mailto:メールアドレスを入力"method="post"><br> お名前<p> <input type="text"name="name"><br><br> メッセージ<p> <textarea rows=8 cols=40 wrap="hard" name="メッセージ"></textarea><br><br> サイト評価<p> <input type="radio"name"goodorbad"value="良い">良い <input type="radio"name"goodorbad"value="普通">普通 <input type="radio"name"goodorbad"value="良くない">良くない <input type="reset"value="リセットします"> <input type="submit"value="投函する"><br><br><br> </form> だと送信ボタンをクリックした時にメールの新規作成画面に飛んでしまいます。 これはどこかおかしいのでしょうか?

  • フォームに入力した値の制御について

    フォームに入力した値の制御について いろいろと調べてみたのですが、 どうすれば良いか分からないので、 質問をさせて頂きました。 【概要】 フォームの[text]と[textarea]に入力をしてもらいたい 入力値のサンプルを表示されるようにしました。 カーソルを[text]と[textarea]に入れると、 入力値のサンプルの表示が消えて入力出来るようにしました。 【やりたい事】 [text]と[textarea]に入力をしてもらった値を、 最終的にtextareaに出力させるようになっています。 何も入力せず出力をさせると、サンプル値は出力されてしまいます。 [text]と[textarea]に入力をした値のみ出力させることは可能でしょうか。 ご教授頂ければと思います。 よろしくお願いいたします。 【ソース】 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN Frameset" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <script type="text/javascript"> <!--ログ生成スクリプトを取得--> function textoutput(formObj) { <!--text01を取得--> var text01 = formObj.elements["text01"].value; <!--text02を取得--> var text02 = formObj.elements["text02"].value; <!--textarea01を取得--> var textarea01 = formObj.elements["textarea01"].value; <!--textarea02を取得--> var textarea02 = formObj.elements["textarea02"].value; <!--出力データを作成--> var text = ''; <!--text3データを作成--> if(text01!==""){ text += '質問1:' + '\n'+ text01 + '\n'; } <!--text2データを作成--> if(text02!==""){ text += '質問2:' + '\n'+ text02 + '\n'; } <!--textarea01データを作成--> if(textarea01!==""){ text += '質問3:' + '\n'+ textarea01 + '\n'; } <!--textarea02データを作成--> if(textarea02!==""){ text += '質問4:' + '\n'+ textarea02 + '\n'; } <!--出力データを作成--> formObj.elements["output"].value=text; } </script> </head> <body> <form name="form01"> <strong>・諮問1:</strong><br> <input type="text" name="text01" value="1入力してください" id="p1" size="30" class="disabled" onfocus="if (this.value == defaultValue) this.value = '';" onblur="if (!this.value) this.value = defaultValue;"><br> <strong>・諮問2:</strong><br> <input type="text" name="text02" value="2入力してください" id="p2" size="30" class="disabled" onfocus="if (this.value == defaultValue) this.value = '';" onblur="if (!this.value) this.value = defaultValue;"><br> <strong>・諮問3:</strong><br> <textarea name="textarea01" id="textarea01" cols="60" rows="5" onfocus="if(this.value == this.defaultValue) this.value=''" onblur="if(this.value == '') this.value=this.defaultValue"> 3入力してください </textarea><br> <strong>・諮問4:</strong><br> <textarea name="textarea02" id="textarea02" cols="60" rows="5" onfocus="if(this.value == this.defaultValue) this.value=''" onblur="if(this.value == '') this.value=this.defaultValue"> 4入力してください </textarea><br> <strong>・出力結果:</strong><br> <input type="button" value="ログ出力" onClick="textoutput(this.form);">&nbsp;<br> <textarea cols=60 rows=20 name="output" ></textarea> </form> </body> </html>

  • テキストボックス未記入時のアラート表示 JS

    【出来ていること】 下記のように電話番号の未入をチェックしアラートを出すことができました。 <script> function check3() { tel3check = document.form3.tel3.value; data13 = tel3check; if(!data13) { alert("電話番号が未入力です13"); return; } else { document.form3.submit(); } } </script> <form method="POST" action="in.php" name = "form3"> <input type="text" name="tel3" value="" /> <input type="button" value="確認" name="sub1" onclick="check3();"> </form> 【躓いていること】 電話番号の未入だけでなく、FAXの未入もチェックしそれぞれでアラートを出そうとしましたが動きません。ご指導いただけますでしょうか? よろしくお願いいたします。 <script> function check3() { tel3check = document.form3.tel3.value; fax3check = document.form3.fax3.value; data13 = tel3check; data133 = fax3check; if(!data13) { alert("電話番号が未入力です13"); return; } elseif(!data133) { alert("FAX番号が未入力です133"); return; } else { document.form3.submit(); } } </script> <form method="POST" action="in.php" name = "form3"> <input type="text" name="tel3" value="" /> <input type="text" name="fax3" value="" /> <input type="button" value="確認" name="sub1" onclick="check3();"> </form>

  • javascriptを勉強し始めました

    それで簡単なアンケートを作りたいと思い、入力フォームを作って間違えている箇所があれば確認ボタンを押したときに入力に誤りがある項目をアラートで出し、そのアラートに誤っている項目をそのアラート一つにまとめて出したいのですが、出ません。わかないので質問させていただきました。よろしくお願いします。ソースになります。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>課題</title> <script language ="javascript"> <!-- function datachk(){ if(document.form1.last.value == "") { alert("・氏名(姓)が入力されていません。"); }else{ if(document.form1.last.value.match( /[^一-龠ァ-ヶぁ-ゞA-Z]+/ ) ){ alert("・氏名(姓)は、全角文字のみで入力して下さい。"); }else{ if(document.form1.first.value == "") { alert("・名前(名)が入力されていません。"); }else{ if(document.form1.first.value.match( /[^一-龠ァ-ヶぁ-ゞA-Z]+/ ) ){ alert("・名前(名)は、全角文字のみで入力して下さい。"); } } } } } //--> </script> </head> <body> <div align="center"> 情報入力 </div><br> <br> 以下に、情報を入力してください。<br> <br> <form name = "form1"> *氏名(姓): <input type = "text" name = "last" value = ""><br> (全角10字入力可)<br> *氏名(名): <input type = "text" name = "first" value = ""><br> (全角10字入力可)<br> *性別: <input type = "radio" name = "men" value = "男">男 <input type = "radio" name = "women" value = "女">女<br> <input type="button" value="回答" onClick="javascript:datachk();"><br> </form> </body> </html>

  • 複数の入力欄についての入力チェック

    JAVAScriptを勉強し始めたものです。 よろしくお願いします。 1つのページに複数のフォームと入力欄があります。 それぞれの入力欄は数字を入力することになっていて、その数字が1~90の間にあるかどうかをチェックしたいと考えています。 下記のようなページを見ると、一つ一つの入力欄について、IF文でチェックしているのですが、一括してチェックするようなことは可能ですか? http://www.tagindex.com/javascript/form/check1.html ----------------------------------------- 【以下に、やりたいことの例を示します】 <script type="text/javascript"> <!-- function matchNum() { n=eval(document.myFORM1.myTEXT1.value); // ←この行の「myFORM1」と「myTEXT1」をすべてを網羅するように書き換えられないか? if ( n < 1 || n > 90 ) { alert("入力できるのは、1~90の値です。"); } } // --> </script> <FORM METHOD="GET" name="myFORM1"> <INPUT TYPE="text" NAME="myTEXT1" onblur="matchNum()"> <INPUT TYPE="text" NAME="myTEXT2" onblur="matchNum()"> <INPUT TYPE="text" NAME="myTEXT3" onblur="matchNum()"> </FORM> <br> <FORM METHOD="GET" name="myFORM2"> <INPUT TYPE="text" NAME="yourTEXT1" onblur="matchNum()"> <INPUT TYPE="text" NAME="yourTEXT2" onblur="matchNum()"> <INPUT TYPE="text" NAME="yourTEXT3" onblur="matchNum()"> </FORM> <br> <FORM METHOD="GET" name="myFORM3"> <INPUT TYPE="text" NAME="hisTEXT1" onblur="matchNum()"> <INPUT TYPE="text" NAME="hisTEXT2" onblur="matchNum()"> <INPUT TYPE="text" NAME="hisTEXT3" onblur="matchNum()"> </FORM> <br> <FORM METHOD="GET" name="myFORM4"> <INPUT TYPE="text" NAME="herTEXT1" onblur="matchNum()"> <INPUT TYPE="text" NAME="herTEXT2" onblur="matchNum()"> <INPUT TYPE="text" NAME="herTEXT3" onblur="matchNum()"> </FORM>

専門家に質問してみよう