html(phpファイル内)抜粋
textarea name='textRmks["+nextRow+"]' cols='100' rows='5'><?=$teststr;?></textarea>
これをJavascript内でエレメントを使って設定したいのですが
PHPの<?=$teststr;?>部分の書き方がわからずだいぶ悩んでます。
var ipt = fm.createElement("<textarea name='tRmk["+cnt+"]' cols='100' rows='5'><--ここ?-->");
どなたか教えてください。
No.2ベストアンサー
- 回答日時:
textareaを動的に作成したいってことかな?
以下のソースを参考にしてください
textareaオブジェクトのvalueに指定した値が中に表示されます。
他のフォームオブジェクトも基本的に同じです
※エレメントの参照方法とか値の設定方法がブラウザによって動作しない可能性があるので、各ブラウザ用の方法を探してみてください。
<html>
<head>
<title>textarea test</title>
<script type="text/javascript">
onload = function()
{
var textarea = document.createElement('textarea');
textarea.setAttribute('id', 'textarea1')
textarea.setAttribute('cols', '100')
textarea.setAttribute('rows', '10')
textarea.setAttribute('value', 'text text text text')
document.form1.appendChild(textarea)
}
</script>
</head>
<body>
<form name="form1" id="form1"></form>
</body>
</html>
No.3
- 回答日時:
ipt=document.createElement('<textarea name="tRmk['+cnt+']">');
if(!ipt) ipt=document.createElement('textarea');
ipt.name='tRmk['+cnt+']';
ipt.cols='100';
ipt.rows='5';
ipt.value="<?=$teststr;?>"; //これ
未検証です。
やってることは他の人のsetAttribute()と同じです。
XHTMLにするならdocument.createElementNS()を使用。
厳密にはIEはcreateElementNS()未対応で、createElement()と同じ動作になります。
Content-Typeヘッダをtext/htmlにしてcreateElementNSかsetAttributeNSを使うと、IE6がフリーズ or クラッシュ
nameをセットしないと、フォームを送信してもtextareaの内容が送信されません。
IEでname属性が付与できない問題があるので、name付きでcreateElementしてます。
どのタグでname属性が付いて、どのタグで付かないのかまではまだ調べていませんが、
もしかするとtextareaは"name属性を付けられる要素"かもしれません。
こちらも思いの動作をしました。
2通りの書き方があるのですね。
同文になりますが、つたない文章から読み取って頂き
ありがとうございました。助かりました。
No.1
- 回答日時:
●fm.createElement("<textarea name='tRmk["+cnt+"]' cols='100' rows='5'><--ここ?-->")
という構文はDOM規格上存在しない。
IEが勝手に動作するだけ。
application/xhtml+xmlで配布し、IEの対応を切り捨てるなら
各条件分岐の2番目以降は必要ない。
その場合script要素のtype属性はtext/javascriptでなく,
application/ecmascriptに書き換えるべきだろう。
●サーバ側でPHPが解釈された後,クライアントにわたる(Ecmascriptで解釈)と考えよう。サーバで処理後の結果は「ソースを表示」で確認できる
============================================
<?php
// header("Content-Type:application/xhtml+xml;charset=UTF-8");
header("Content-Type:text/html;charset=UTF-8");
$teststr = "Q3611556のテストだよ";
?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Q3611556 TestCase 1</title>
<script type="text/javascript">
//<![CDATA[
function hoge(){
var returnvalue = false;
var ipt = null;
for (var cnt = 0;cnt < 5; cnt++ ){
if(typeof(document.createElementNS) != "undefined"){
ipt = document.createElementNS("http://www.w3.org/1999/xhtml","textarea");
}else if(typeof(document.createElement) != "undefined"){
ipt = document.createElement("textarea");
}else{
ipt = null;
returnvalue = false;
}
if (ipt != null){
ipt.setAttribute("name","tRmk["+cnt+"]"); //あまり好きではないがPHPの動作上必要っぽいね。
ipt.setAttribute("cols","100");
ipt.setAttribute("rows","5");
if(typeof(ipt.textContent) != "undefined"){
ipt.textContent = "<?=$teststr;?>";
returnvalue = true;
}else if(typeof(ipt.innerText) != "undefined"){
ipt.innerText = "<?=$teststr;?>";
returnvalue = true;
}else{
returnvalue = false;
}
document.getElementById("Q3611556A").appendChild(ipt);
}
}
}
//]]>
</script>
</head>
<body onload="hoge();">
<p id="Q3611556A"></p>
</body>
</html>
js内で、"<?=$teststr;?>"が反応してくれません。
書き方がまずいのか腑に落ちませんが
参考になりました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウンで選択された値を別...
-
tabindexの取得
-
どちらかひとつのテキストボッ...
-
ユーザー入力値の正誤判定をブ...
-
Request.Form(key)の中身をクリ...
-
入れ替えた画像をクリッカブル...
-
マイナスなら赤字で表示したい...
-
ページ間で変数を保持したい
-
javascriptのちょっとした動作...
-
フォームの内容でリンク先URLの...
-
TextBoxに半角数字以外を入れた...
-
return trueとreturn falseの用...
-
ハイパーリンクを別ウインドウ...
-
テーブルにおける行(セルにプル...
-
フォームのメニューリストを外...
-
onchangeイベントを強制的に発...
-
<JavaScript>tableタグを入力不...
-
特定<table>内の<td>の色を変える
-
slickのレスポンシブ > center...
-
Visual Studioのデザインでの非...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TextBoxに半角数字以外を入れた...
-
tabindexの取得
-
HTMLファイル同士での値渡し
-
入力するテキストエリアをボタ...
-
ページ間で変数を保持したい
-
マイナスなら赤字で表示したい...
-
プルダウンで選択された値を別...
-
VBscriptの配列変数をJavascrip...
-
どちらかひとつのテキストボッ...
-
jQueryのdatepickerの日付が選...
-
テキストボックスに入力した色...
-
HTMLとJavaScriptで作った表示...
-
現在JavaScriptのonLoad,onUnlo...
-
大文字か小文字かを判断する方法
-
Request.Form(key)の中身をクリ...
-
disabledの点で。
-
改行コード変換しても、引数の...
-
AからBへ変わった時だけ発動す...
-
テキストエリアの制限字数以上...
-
テキストエリアに履歴を残したい
おすすめ情報