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.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.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.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で質問しましょう!
似たような質問が見つかりました
- MySQL MySQLに登録した内容を更新する時の、textareaの使い方 1 2022/07/11 18:20
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP ワードプレスプラグイン MW WP formについて(aria-labelを追加したい) 1 2023/06/05 17:11
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS Windowsのformでtextareaに入力すると改行が反映されません 2 2023/06/01 11:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マイナスなら赤字で表示したい...
-
子ウィンドウを閉じるとき、親...
-
JavaScriptで作ったアプリが正...
-
フォームの内容でリンク先URLの...
-
VBscriptの配列変数をJavascrip...
-
HTMLとJavaScriptで作った表示...
-
tabindexの取得
-
JavaScriptでCGIの呼出し・...
-
ページ間で変数を保持したい
-
HTMLファイル同士での値渡し
-
入力するテキストエリアをボタ...
-
現在時刻を表示させたい!
-
VBScriptでpingを実行(ブラウザ...
-
テキストエリアへセットフォーカス
-
サブウィンドウに変数を渡す方...
-
テキストボックスに入力した色...
-
return trueとreturn falseの用...
-
追加ボタンを押した際に ok ボ...
-
チェックボックスのON/OFFでVal...
-
<form action="#">の意味とは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TextBoxに半角数字以外を入れた...
-
HTMLとJavaScriptで作った表示...
-
tabindexの取得
-
VBscriptの配列変数をJavascrip...
-
プルダウンで選択された値を別...
-
フォームの内容でリンク先URLの...
-
テキストボックスに入力した色...
-
GetElementByIdがうまく取得で...
-
JavaScriptで作ったアプリが正...
-
jQueryのdatepickerの日付が選...
-
HTMLファイル同士での値渡し
-
マイナスなら赤字で表示したい...
-
VBSからjavascript
-
テキストエリアに履歴を残したい
-
どちらかひとつのテキストボッ...
-
一部Enter無効化の方法を教えて...
-
ページ間で変数を保持したい
-
Request.Form(key)の中身をクリ...
-
javascriptのちょっとした動作...
-
JSで一つのボタンを押したとき...
おすすめ情報