• 締切済み

テキストBOXを繰り返し処理にしたい。(若葉マーク)

3列、10行の表を作成したいと思います。 それぞれの、セルの値をPOSTで飛ばしたいのですが 下記、ソースでは、表自体が表示されません。 どなたか、方法教えていただけませんか? <html> <head> <title>サンプル</title> </head> <body> <table border="2"> <tr bgcolor="#AAAAAA"> <td><th>都市名</th></td> <td><th>最高気温</th></td> <td><th>最低気温</th></td> </tr> <script type="text/javascript"> for($i=1;$i<10;$i++){ <tr bgcolor="#AAAAAA"> <td><th> <form action="http://localhost/YPHPSample/sample4.php" method="post"> <input type="text" name="aut[$i]"/> </th></td> <td><th> <form action="http://localhost/YPHPSample/sample4.php" method="post"> <input type="text" name="soft[$i]"/> </th></td> <td><th> <form action="http://localhost/YPHPSample/sample4.php" method="post"> <input type="text" name="hard[$i]"/> </th></td> </tr> } </script> </table> <input type="submit" value="送信"/> </form> </body> </html>

  • PHP
  • 回答数3
  • ありがとう数8

みんなの回答

  • dell_OK
  • ベストアンサー率13% (739/5638)
回答No.3

PHPにすると、こうなるのかな。 <html> <head> <title>サンプル</title> </head> <body> <form action="?http://localhost/YPHPSample/sample4.php"? method="post"> <table border="2"> <tr bgcolor="#AAAAAA"> <td><th>都市名</th></td> <td><th>最高気温</th></td> <td><th>最低気温</th></td> </tr> <?php for($i=1;$i<10;$i++){ echo <<<abc <tr bgcolor="#AAAAAA"> <td><th> <input type="text" name="aut[$i]"/> </th></td> <td><th> <input type="text" name="soft[$i]"/> </th></td> <td><th> <input type="text" name="hard[$i]"/> </th></td> </tr> abc; } ?> </table> <input type="submit" value="送信"/> </form> </body> </html>

  • rakujin
  • ベストアンサー率38% (34/89)
回答No.2

PHPでの質問ですので、PHPで書くと以下のようなコードで、正常に動くと思うのですが・・・、試してみてください。 //------------------- <html> <head> <title>サンプル</title> </head> <body> <table border="2"> <tr bgcolor="#AAAAAA"> <th>都市名</th> <th>最高気温</th> <th>最低気温</th> </tr> <?php echo("<form action='http://localhost/YPHPSample/sample4.php' method='post'>\n"); for($i=1;$i<10;$i++){ echo("<tr>\n"); echo("<td bgcolor='#AAAAAA'>\n"); echo("<input type='text' name=aut[$i]>\n"); echo("</td>\n"); echo("<td bgcolor='#AAAAAA'>\n"); echo("<input type='text' name=soft[$i]>\n"); echo("</td>\n"); echo("<td bgcolor='#AAAAAA'>\n"); echo("<input type='text' name=hard[$i]>\n"); echo("</td>\n"); echo("</tr>\n"); } echo("<input type='submit' value='送信'>\n"); ?> </form> </table> </body> </html>

回答No.1

PHPではなくてJavaScriptの質問ですね。。。 javascriptの処理の中に直接HTMLを記述してもエラーになるだけです。 せめてHTMLの文字列を変数に入れて、 document.writeなりdocument.getElementByIdなどを使って出力させるようにしましょう。 あと、formタグの開始と終了の数が合っていません。 開始<form action=・・・>と言う記述は3箇所あるのに、 終了</form>が1箇所しかありません。 <form action=・・・>の記述は最初の一箇所だけで良いと思います。

関連するQ&A

  • データの受け渡し(表内に収めたいのですが)

    phpで表から表へデータを飛ばし表示させようとしています。 例 ___________________ |_A___|__B___|___C__| |_____|______|_______| ↓ ___________________ |_A___|__B___|___C__| |_____|______|_______| 例えば、下記のようなソースsample.php→sample4.php を作りました。 データは飛ばすことが出来ますが、表内に収める場合 どのようにすればよいですか? ちなみに、YPHPSampleは、ソースがおいてあるディレクトリです。 (1)sample.php <html> <head> <title>サンプル</title> <head> <body> <table border="2"> <tr bgcolor="#AAAAAA"> <td><th>都市名</th></td> <td><th>最高気温</th></td> <td><th>最低気温</th></td> </tr> <tr bgcolor="#AAAAAA"> <td><th> <form action="http://localhost/YPHPSample/sample4.php" method="post"> <input type="text" name="aut"/> </th></td> <td><th> <form action="http://localhost/YPHPSample/sample4.php" method="post"> <input type="text" name="soft"/> </th></td> <td><th> <form action="http://localhost/YPHPSample/sample4.php" method="post"> <input type="text" name="hard"/> </th></td> </tr> </table> <input type="submit" value="送信"/> </form> </body> </html> (2)sample4.php <html> <head> <title>サンプル</title> </head> <body> <table border="2"> <tr bgcolor="#AAAAAA"> <td><th>都市名</th></td> <td><th>最高気温</th></td> <td><th>最低気温</th></td> </tr> </table> <?php if($_POST["aut"]) print"{$_POST["aut"]}<br/>\n"; if($_POST["soft"]) print"{$_POST["soft"]}<br/>\n"; if($_POST["hard"]) print"{$_POST["hard"]}<br/>\n"; ?> </body> </html>

    • 締切済み
    • PHP
  • 「form_text」の部分の文字数をカウントしたい

    下記のフォームの「form_text」の部分の文字数をカウントし、全角25文字以内であればという条件を作りたいのですがどのように実装すれば良いのでしょうか? <form method="post" enctype="multipart/form-data" action="<?=$PHP_SELF?>"> <tr> <th> ファイルパス </th> <td> <input type="file" size="50" name="form_file" /> </td> </tr> <tr> <th> コメント </th> <td> <input type="text" size="80" name="form_text" /> </td> </tr> </table> </form> 以下のようにやってみましたが、parseエラーになってしまいました…。 $i = mb_strlen( $_POST['form_text'] ); if( $i > 25 ); { print "コメントが長すぎです!"; } どなたかご教授頂ければ幸いです。

    • 締切済み
    • PHP
  • ボタンを押してテキストボックスを追加しテーブルの作成

    avascriptでテキストボックスを追加したいのです。テーブルを組んで複数のnamaの違うボックスを追加したいです。 下記のようにイメージして書いたのですが、考えが詰まりました。 テーブルでなくても、2列複数行の形になればいいんですが・・・ 教えて下さい。よろしくお願いします。 <script type="text/javascript"> <!-- var tag_num = 4; function myAdd(){ var oTag = document.createElement("input"); oTag.setAttribute("type", "text"); oTag.setAttribute("name", "hoge" + tag_num++); oTag.setAttribute("name", "fuga" + tag_num++); var oDiv = document.getElementById("area"); oDiv.appendChild(oTag); } --> </script> </head> <body> <form id="form1" action="check.php" method="post"> <span id="area"> <table style="text-align: left; width: 100px;" border="1" cellpadding="2" cellspacing="2"> <tbody> <tr> <td><input type="text" name="hoge1" value=""></td> <td><input type="text" name="fuga1" value=""></td> </tr> <tr> <td><input type="text" name="hoge2" value=""></td> <td><input type="text" name="fuga2" value=""></td> </tr> <tr> <td><input type="text" name="hoge3" value=""></td> <td><input type="text" name="fuga3" value=""></td> </tr> </tbody> </table> </span> <input type="button" value="Add" onClick="myAdd()"> </form>

  • form要素とtable要素

    元はこちらです。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1483846324 <table> <tr><td><input form="form1" type="text" value="text1"></td></tr> <tr><td><input form="form1" type="submit" value="submit1"></td></tr> <tr><td><input form="form2" type="text" value="text2"></td></tr> <tr><td><input form="form2" type="submit" value="submit2"></td></tr> </table> <form id="form1" action="cgi1.cgi" method="POST"></form> <form id="form2" action="cgi2.cgi" method="POST"></form> 上記はHTML5の仕様に従って書いていますが、これを、HTML4.01の仕様に反さないように書くと、どの様にすればいいのでしょうか。 添付画像は、実際のテーブルの様子です。

    • ベストアンサー
    • HTML
  • テキストから要素を抜き出してフォームで送信したい。

    <body> <form action="xxx.cgi" method="post"> <input type="hidden" name="n" value="v"> <table> <tr id="hoge_a"> <td>AAA</td> </tr> <tr id="hoge_b"> <td>BBB</td> </tr> </table> <input type="submit" name="submit"> </form> </body> というHTMLの中で、AAAを抜き出してフォームと一緒にpostでサブミットしたいのですが、javascriptで出来ますでしょうか。 よろしくおねがいします。

  • POST GET HTTP 404 未検出

    POSTメソッドとGETメソッドの混在したFORMで404エラーとなります。 具体的には、次のようなFORMを考えています。 <form action="login.php?hoge=hogehoge" method="POST"> <table border="0"> <tr><td>ユーザ名</td><td><input type="text" name="name"></td></tr> <tr><td>パスワード</td><td><input type="password" name="pass"></td></tr> <tr><td colspan="2"><input type="submit" value="ログイン"></td></tr> </table> </form> Windows XPではうまく機能するのですが、 Vineではうまくいきません。「HTTP 404 未検出」となります。 どうしたらいいのかさっぱり分からない状態です。 エラーの原因を教えていただければと思います。 詳しい環境: OS:Vine PHP:5.2.8 Apache:2.0

    • 締切済み
    • PHP
  • FormのSubmitボタン

    こんにちは。 <table align="center"> <form action="getdata.html" method="post"> <tr> <th>Customer Name :</th> <td><input type="text" name="CustNameEdit" value=""></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" name="SearchButton" value="Search"> <input type="submit" name="SearchButton" value="Show All"> </td> </tr> </form> </table> このようなフォームで、CustNameEditに文字列を入力し、Searchボタンをクリック すると、getdata.htmlでSearchButtonの値は"Search"になっているのですが、 文字列入力後、キーボードのEnterキーを押すと、getdata.htmlへは行くのですが、 SearchButton変数が存在しないと言われてしまいます。 で、この現象ですが、Internet Explorer(試したのはバージョン6.0と7.0)で 発生しますが、Operaで試してみたところ、問題ありません。 何か原因として考えられることはありますでしょうか。

    • ベストアンサー
    • HTML
  • javascriptによる計算

    テキストボックス「a1~6」の値とテキストボックス「b1~6」に入力された値を足し算してテキストボックス「c1~6」(例…c[i] = a[i] + b[i])を計算するJavaScriptを作成しているのですが、結果がundefinedになってしまい上手くいきません。どうやったら動くのかどうかご教授ください。 以下ソース↓ <script language ="JavaScript"> function plus() { var intResult = 0; for (i=1; i<=6; i++){ intResult[i] = 0; if (!isNaN(document.forms["A"].all["a"+i].value) && !isNaN(document.forms["B"].all["b"+i].value)){ intResult[i] += parseInt(document.forms["A"].all["a"+i].value); intResult[i] += parseInt(document.forms["B"].all["b"+i].value); } <table border = 1> <tr> <td> <table border = 1> <tr> <td> <form name="A"> <input type = "text" size = 5 name = "a1"></input> </td> <td> <input type = "text" size = 5 name = "a2"></input> </td> <td> <input type = "text" size = 5 name = "a3"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "a4"></input> </td> <td> <input type = "text" size = 5 name = "a5"></input> </td> <td> <input type = "text" size = 5 name = "a6"></input> </form> </td> </tr> </table> </td> <td> <table boeder = 1> <tr> <input type = "button" onClick="plus()" value = "+"></input> </tr> </table> </td> <td> <table border = 1> <tr> <td> <form name = "B"> <input type = "text" size = 5 name = "b1"></input> </td> <td> <input type = "text" size = 5 name = "b2"></input> </td> <td> <input type = "text" size = 5 name = "b3"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "b4"></input> </td> <td> <input type = "text" size = 5 name = "b5"></input> </td> <td> <input type = "text" size = 5 name = "b6"></input> </form> </td> </tr> </table> </td> </tr> </table> 答え <form name = "C"> <table border = 1> <tr> <td> <input type = "text" size = 5 name = "c1"></input> </td> <td> <input type = "text" size = 5 name = "c2"></input> </td> <td> <input type = "text" size = 5 name = "c3"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "c4"></input> </td> <td> <input type = "text" size = 5 name = "c5"></input> </td> <td> <input type = "text" size = 5 name = "c6"></input> </td> </tr> </table> </form> </body> document.C.all["c"+i].value = intResult[i]; } } </script>

  • テキストBOX1個の画面でテキストBOXがリロード。

    【ご質問】 テキストBOX1個だけの画面で、データ入力をEnterキーを 押すと、入力したデータがリロードされてしまいます。 (テキストBOX2個以上だと、リロードされません) 入力したデータをそのまま、保持したいのですが、 実現方法をご存知の方、教えて頂けますでしょうか。 【サンプル】 <%@page contentType="text/html; charset=euc-jp" %> <html> <head> <title>テスト</title> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <script language="JavaScript"> function m_evt_add(f1){ return; } </script> </head> <body bgcolor="#FFFFFF"> <div align="center" style="color:#3300CC"><b>テスト</b></div> <br> <form name="form2" > <div align="center"> <table width="300" border="2"> <thead class="tableheader"> <tr> <th colspan="2" align="center">詳細項目</th> </tr> <tr> <th>項目</th><th>内容</th> </tr> </thead> <tbody class="tabledata"> <tr> <td >項目1</td><td><input type="text" name="input1" size="20" id="imemode1"></td> </tr> <tr> </tbody> </table> <br> <br> </div> </form> </body> </html>

  • Yes/No型を使ってアップロード

    はじめまして。 下記にhtmlを書かせていただいてますが、このhtmlの『アップロード』のボタンを押すと 1. データベース『mdb』のYes/No型にチェックが入る 2. Yes/No型にチェックが入ったものはアップロードされる ようにすることはできるでしょうか?また、何か参考になるサイト様などがあれば 教えていただきたいのです。 おわかりになる方、よろしくお願いします。 下記のような↓フォームです。 ---------------------- <table> <TR> <TD> <INPUT type='hidden' NAME='UPDATE_ID' VALUE='1'> <center><INPUT TYPE='submit' VALUE=' アップロード '><br><center> <p></p> </TD> <TD>登録ファイル1</TD></FORM> <FORM ACTION='' METHOD='POST'> <TR> <TD> <INPUT type='hidden' NAME='UPDATE_ID' VALUE='2'> <center><INPUT TYPE='submit' VALUE=' アップロード '><br><center> <p></p> </TD> <TD>登録ファイル2</TD></FORM> <FORM ACTION='' METHOD='POST'> <INPUT type='hidden' NAME='UPDATE_ID' VALUE='3'> <TR> <TR> </FORM> <TR> </table>

専門家に質問してみよう