プロが教えるわが家の防犯対策術!

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

A 回答 (4件)

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 = 'ほんげぇぇぇぇ';
}
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2014/07/01 18:50

>入力項目に入力させずに、複数div内のテキストとかを送信し、POSTで受け取りたいです。


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

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

お礼日時:2014/07/04 21:52

こんにちは。



書けませんし、divタグでは送信対象に含まれません。

やるとしたらhidden項目にその内容をセットするとか、送信寸前にhidden項目を作成するとかしないとサーバ側では受け取れません。
    • good
    • 0
この回答へのお礼

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

>divタグでは送信対象に含まれません
・無理なんですね

>やるとしたらhidden項目にその内容をセットするとか、送信寸前にhidden項目を作成するとかしないとサーバ側では受け取れません
・hiddenとか使わずにそのままやり取りする裏技みたいなのないかな、と思ったんですけど、ダメなんですねー

お礼日時:2014/07/01 18:36

DIVの内容はフォームでは受け取れません。


DIVはグローバル属性のみもてます。
【引用】____________ここから
Content attributes:
  Global attributes
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[4.5 Grouping content — HTML5( http://www.w3.org/TR/2012/CR-html5-20121217/grou … )]より

><div name="hoge">をDOM操作してその結果をPOSTで受け取りたいのですが…
 具体的に何をしたいのでしょう。
    • good
    • 0
この回答へのお礼

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

>DIVはグローバル属性のみもてます
・divにname属性とかつけれないんですね

>具体的に何をしたいのでしょう
・入力項目に入力させずに、複数div内のテキストとかを送信し、POSTで受け取りたいです

お礼日時:2014/07/01 18:32

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

このQ&Aを見た人はこんなQ&Aも見ています