• ベストアンサー

フォーム要素以外にもname属性を付与して良い?

HTML5仕様では、name属性はどこに付与する決まりになっているのでしょうか? ・フォーム要素以外にもname属性を付与して良いのでしょうか? ・下記のようなことをしても良いでしょうか? ・テキストフィールドではなく、<div name="hoge">をDOM操作してその結果をPOSTで受け取りたいのですが… <form method="post">  <div name="hoge"></div>  <input type="submit"> </form>

  • re97
  • お礼率80% (601/744)
  • HTML
  • 回答数4
  • ありがとう数5

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

  • ベストアンサー
  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.3

getElementsByName をつかえば、どの要素に name 属性をつけても対処できますが、 やりたい事を実現するならば、以下はいかがでしょうか。 <form> <div><input type=hidden name=hoge value=ほんげ><span>ほんげ</span></div> </form> function DOM操作して値を書き換え(フォーム){ var hoge = フォーム.elements['hoge']; hoge.value = 'ほんげぇぇぇぇ'; hoge.nextElementSibling.textContent = 'ほんげぇぇぇぇ'; }

re97
質問者

お礼

回答ありがとうございました。 ・考え方としては、送信するためには一旦hiddenへ値をセットしなければいけない、ということですね ・参考になりましたー

その他の回答 (3)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.4

>入力項目に入力させずに、複数div内のテキストとかを送信し、POSTで受け取りたいです。 それだけでは分かりません。  そのテキストは、どうして作成されているのですか???。その補足の内容からは、動的にページが作成されているのじゃないかと。  もしそうであるなら、それを出力する段階でhiddenに入れて別途テキストを記述するか、textareaに記述してdisabled属性をつけて変更できなくしてスタイルシートで枠を消すなどすれば良い。もし静的な物でしたら、同様に記述しておけばよい。

re97
質問者

お礼

回答ありがとうございましたー

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 書けませんし、divタグでは送信対象に含まれません。 やるとしたらhidden項目にその内容をセットするとか、送信寸前にhidden項目を作成するとかしないとサーバ側では受け取れません。

re97
質問者

お礼

回答ありがとうございました。 >divタグでは送信対象に含まれません ・無理なんですね >やるとしたらhidden項目にその内容をセットするとか、送信寸前にhidden項目を作成するとかしないとサーバ側では受け取れません ・hiddenとか使わずにそのままやり取りする裏技みたいなのないかな、と思ったんですけど、ダメなんですねー

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

DIVの内容はフォームでは受け取れません。 DIVはグローバル属性のみもてます。 【引用】____________ここから Content attributes:   Global attributes  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[4.5 Grouping content — HTML5( http://www.w3.org/TR/2012/CR-html5-20121217/grouping-content.html#the-div-element )]より ><div name="hoge">をDOM操作してその結果をPOSTで受け取りたいのですが…  具体的に何をしたいのでしょう。

re97
質問者

お礼

回答ありがとうございました。 >DIVはグローバル属性のみもてます ・divにname属性とかつけれないんですね >具体的に何をしたいのでしょう ・入力項目に入力させずに、複数div内のテキストとかを送信し、POSTで受け取りたいです

関連するQ&A

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

    <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データのNAME属性をVALUEによって取得する方法

    HTML→PHPのPOSTデータのやりとりについて、 【HTML】 <form name="form1" method="post" action="xxx.php"> <input name="01" type="text" value="1"> <input name="02" type="text" value="0"> <input name="03" type="text" value="0"> <input name="04" type="text" value="1"> <input type="submit" name="Submit" value="送信"> </form> 【xxx.php】 フォームから送信されたデータを使って、「value」が"1"の「name」を拾うのにはどのように書けばいいでしょう? ↓このように取得したいです。 $data[0]="01"; $data[1]="04"; よろしくお願いします。

    • ベストアンサー
    • PHP
  • Formの「action」属性を取得したいけれども「action」という名のオブジェクトが存在している

    非常に困っています!よろしくお願いいたします。 以下のように「action」という名前のオブジェクトがあります。 <form name="form1" method="post" action="hoge.htm"> <input type="hidden" name="action" value="test"> <input type="submit" name="submit" value="OK"> </form> javascriptでaction属性「hoge.htm」を取得したいのです。そのため以下のようにコーディングしました。 alert(document.form1.action); 結果は「object」と表示されます。どうやらactionオブジェクトを対象としてしまうらしいのです。 action属性を取得する方法をお教えいただけないでしょうか。よろしくお願いいたします。

  • <input type="hidden" >で配列(複数の要素)を渡したいとき?

    こんにちわ, 今HTML+PHPで $hoge[]にいくつかの要素が入っているとき, それをあるfoo.phpというページに渡したいとき, echo '<form action="foo.php" method="POST">'; echo '<input type="hidden" name="$hoge[]" >'; echo '</form>'; としたのですが,うまくいきません。 どうしたらよろしいでしょうか。

    • ベストアンサー
    • PHP
  • フォームから受け取ったデータを変数に/PHP

    入力フォームからデータを送信し、受け取ります。 <form action="index.php" method="post"> <input type="text" name="hoge"> <input type="submit"> </form> <?php echo htmlspecialchars($_POST['hoge']); ?> この時に受けったデータが、「りんご」だとして この「りんご」を変数にしたいです。 ↓ <?php $keyword = "りんご"; ?> このようにするには、 <form action="index.php" method="post"> <input type="text" name="hoge"> <input type="submit"> </form> <?php echo htmlspecialchars($_POST['hoge']); ?> の後にどのような処理をすればよいでしょうか? または初めから「$keyword」としてフォームからデータを送ることはできるのでしょうか? 何卒ご指導の程よろしくお願いします。

    • ベストアンサー
    • PHP
  • 同一ページの複数のフォーム通信

    お世話になります。 <form method='POST' action='#1'> <input name='text1'> <input name='text2'> <form method='POST' action='#2'> <input name='text3'> <input method='submit' value='B'> </form> <input method='submit' value='A'> </form> Aにて text1,2,3を#1へ送信 Bにて text3を#2へ送信 したいのですが、上手くできません。 <form></form>で囲まれている中に 更に<form></form>する事はできないのでしょうか? 代替案はありますか?? よろしくお願いします。

  • 異なるname属性のテキストの入力チェックについて

    異なるname属性のテキストの入力チェックについて よろしくお願いします。 それぞれname属性の異なるテキスト群があるのですが、 どれかひとつに数字を入力しないと、アラートが出るようにしたいと思っています。 <form action="mail.cgi" method="post" onSubmit="return check(this);"> <input type="text" name="maru" /> <input type="text" name="sankaku" /> <input type="text" name="shikaku" /> </form> この場合のコードの記述方法をお教え頂ければ幸いです。 どうぞよろしくお願い致します。

  • hidden属性だけのフォーム

    hidden属性だけのフォームというのはちゃんと動作しますか? 自分のソースでは動作せず、送り先のPHPスクリプトでvar_dump()すると、$_POST['']の中身が NULL になってました。送信やリセットボタンを作らずに送信できるとすれば、どんな ソースになりますか? <?php echo '<form name="form1" method="POST" action="../../disp_access.php">'; echo '<input type="hidden" name="from" value="1">'; // どのページから飛んできたかを示す echo '<input type="hidden" name="browser" value="'.$referer.'">'; echo '<input type="hidden" name="ip" value="'.$ip.'">'; echo '</form>'; ?>

    • ベストアンサー
    • HTML
  • htmlについて

    要素、属性の意味がよくわかりません。 どれも同じようにしか見えません。 要素が無ければ属性はないのはわかりますが、いまいちです。 例)要素→性質を表したもの  属性→性質の補欠を補うもの。と解釈してます。 また <body> <form action="http://localhost/a.php" method="post"> <input type="text" name="Name"> <input type="submit" value="送信"> </form> </body> の場合<form action="http://localhost/a.php" method="post">のhttp://localhost/a.phpは送信される側のアドレスを記述すればいいのでしょうか? <input type="text"> <input type="text"> 二つの違う内容のテキストを送信(一つのHP内で)する場合はどうすればいいでしょうか?

  • 複数のフォームから送信

    複数のフォームからtextの値を送信したいのですができますか?〒番号を入力して検索ボタンをおすと住所がでてきて最後に登録をしたいです。検索だけのプログラムはできてますがフォームを二つにすると両方のsubmitが登録になります・・・ 一応自分でいろいろためしましたがだめでした。。。 html,php,javascriptです。 二つともだめでした。。。。 rei1.php ------------------------- <html> <body <form method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> <br> <form method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> -------------------------------------- rei2.php -------------------------------------- <html> <head> <script language="javascript"><!-- function send() { document.nform.submit(); document.nform2.submit(); document.nform3.submit(); } //--></script> </head> <body> <form name="nform" method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> </form> <form name="nform2" method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> <form name="nform3" method="POST" action="1.php"> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> ------------------------------------

専門家に質問してみよう