Javascriptの勉強をしてるのですが
フォームを用いたときPHPみたいにエスケープ処理をする必要はあるのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

した方がいいですよ。



encodeURI, encodeURIComponent, decodeURI, decodeURIComponent
https://developer.mozilla.org/ja/Core_JavaScript …


全然話が違いますが、html の 特殊文字や、正規表現文字列などは自前で用意した方がいいでしょう。
    • good
    • 0

<>&とかのことかしら?


document.writeで書き出すなら必要だけど
それ以外ではあまり必要でないわね。

タグを直接文字列として扱う場合は
タグ以外で利用される<>&はエスケープする必要あるし、
document.writeとかね。
タグを直接文字列として扱わない場合は
エスケープしちゃダメね。
inputのvalue値を扱うときなんかがそうね。

こういう回答でいいのかしら。
    • good
    • 0

>PHPみたいにエスケープ処理



具体的にどのようなことをおっしゃっているのかわかりかねます。
GETでパラメータをつないで別ページに飛ぶときのを直書きするなら
エスケープ処理をしないとまずいですが、データを普通に
submitしたりするなら、余計なことはあまりありません。
また万が一htmlのルールに引っかかってフォームが崩れるようなことを
する場合にはそれなりの処理を入れてください
    • good
    • 0

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qクロスバイク エスケープ R3とR3.1の違い 

クロスバイク エスケープ R3とR3.1の違いについて

明日、エスケープを買いに行きますがR3とR3.1のどちらがいいですか?

またR3とR3.1の違いを教えてください。

また、トリガーシフターとグリップシフトではどちらがいいですか?

私は、初心者で街乗りが主です。

よろしくお願いします。

Aベストアンサー

>トリガーシフターとグリップシフトではどちらがいいですか?

コレは好みですよ。
ぼくは街乗りならグリップの方が使いやすいです。

QPHPでエスケープされた文字列をJavaScriptで元に戻す方法

PHPのhtmlentities()でエスケープされた文字列をJavaScriptで元に戻す方法ってありますか?

例えば、PHPで(' → ')エスケープされたものを、JavaScriptで(' → ')元に戻す方法

「最初から、PHPでエスケープさせなければいいんじゃねーの?」っていうのは無しでお願いします。(汗)

Aベストアンサー

No3です。

参考に上げたサイトがダウンしているみたいですね。
しばらくすれば直るとは思いますが、お急ぎでしたら、キャッシュを見つけましたので、そちらを替わりに…
(7/26のキャッシュなので、もう少ししたら無くなっちゃうかも)

http://74.125.153.132/search?q=cache:s1DJ9WTBZJgJ:jsgt.org/ajax/ref/charset_test/responsetext/php/urlencode.php+javascript+%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89%E3%80%80PHP&cd=1&hl=ja&ct=clnk

↑はどうも時間がかかるみたいなので、簡略版(テキスト版)ならこちら
http://74.125.153.132/search?q=cache:s1DJ9WTBZJgJ:jsgt.org/ajax/ref/charset_test/responsetext/php/urlencode.php+javascript+%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89%E3%80%80PHP&hl=ja&strip=1

No3です。

参考に上げたサイトがダウンしているみたいですね。
しばらくすれば直るとは思いますが、お急ぎでしたら、キャッシュを見つけましたので、そちらを替わりに…
(7/26のキャッシュなので、もう少ししたら無くなっちゃうかも)

http://74.125.153.132/search?q=cache:s1DJ9WTBZJgJ:jsgt.org/ajax/ref/charset_test/responsetext/php/urlencode.php+javascript+%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89%E3%80%80PHP&cd=1&hl=ja&ct=clnk

↑はどうも時間がかかるみたいなので、簡略版(テキ...続きを読む

Qエスケープr3に23cのタイヤを付けたいです。

エスケープR3に23Cのタイヤを取り付けたいのですが、どのようにして取り付ければいいですかアドバイス願います。

Aベストアンサー

エスケープR3って今から買うんですか?
購入時にタイヤを23Cにしてほしいといえば、店によっては安く交換してくれますよ。

Qjavascript と php の、フォームを使わない送受信について

初めて質問します。わかりにくいかも知れませんが、どうぞよろしくお願いします。

当方、HTTPXMLオブジェクト(?)を使ってHTTP通信を試みていますが、phpでのPOST受信が出来ず困っております。

以下、要約したソースコードを掲載します。


javascript側-----------------

post_data = 'user_id='+ user_id +'&password=' + password;
//user_id,password共にテキストフォームに入力された変数です

(中略)

httpObj.open('POST','hoge.php',true);

httpObj.send(post_data);

//これで送信し

(中略)

a = httpObj.responceText

//で受け取っています。
----------------------------------

php側-----------------------------

$user_id = $_POST['user_id'];
$password = $_POST['password'];

~DB接続処理~

print $res;

//$resはjavascriptに送る文字列です

----------------------------------

と言うような感じなのですが、
javascript側の最後の a にはちゃんと $res の内容が格納され、表示もされることを確認しているのですが、
php側の$_POST['user_id']に何も入らずnullのままで、どうしたらいいのか途方に暮れています…。

蛇足かも知れませんが、念のためにHTML側のテキストフォーム部のソースだけを書いておきます。

<input type="text" id="user_id">ユーザ名
<input type="password" id="pass">パスワード
<input type="button" id="login" value="log in">

<form>タグは使わず、ボタンがクリックされたときに、テキストフォームの内容を読み取ってphpに値を投げると言うイベントハンドラ的な動作をしています。
フォームの内容はjavascriptで取れていますが、如何せんphpへ投げたときにphpが受け取ってくれない……

長文申し訳ございません。回答のほう、よろしければお願いします。

初めて質問します。わかりにくいかも知れませんが、どうぞよろしくお願いします。

当方、HTTPXMLオブジェクト(?)を使ってHTTP通信を試みていますが、phpでのPOST受信が出来ず困っております。

以下、要約したソースコードを掲載します。


javascript側-----------------

post_data = 'user_id='+ user_id +'&password=' + password;
//user_id,password共にテキストフォームに入力された変数です

(中略)

httpObj.open('POST','hoge.php',true);

httpObj.send(post_data);

//これで...続きを読む

Aベストアンサー

はずしてたらすみません。

もしデータをPOSTする必要がある場合、次の方法でrequestのMIME type を変更します:

http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

参考URL:http://developer.mozilla.org/ja/docs/AJAX:Getting_Started

Qジャイアント エスケープR3とR3SEの違い

迷った結果「ジャイアント エスケープR3」に決めたのですが
調べてみると2007年モデルのR3SEが出ていました(^^;)

また迷ってしまったのですが
R3よりも新しいR3SEを買った方がいいのでしょうか??

知識が無いので違いが泥よけとフロントキャリアしか分からないのですが
他にも何か違いがあるのでしょうか??

R3と比べて良い点や悪い点などがありましたらお教え下さい(><)

Aベストアンサー

R3にスタンド。ドロヨケ、キャリャがついた物がSEです。
他の部品や機能はまったく変わりません。
しかもオプションで買うより安く設定されていますので
最初から買う予定ならお得です。
但しSEは色が限られます。

Qフォームのname値を配列にしてJavaScriptでフォームのチェックをする方法

JavaScriptでフォームの半角数字のチェックをしたいのですが、
form内容をCGI(PHP)に渡すためname値を配列にしないといけないのですが、
以下のスクリプトだとエラーが出てしまいます。

*実際はif(isNaN~)と<input~>をループで書き出しており、行数が不特定なので
それぞれ別のname値を使うことができない状態です。

<script language="JavaScript">
function check() {
if(isNaN(document.form1.hoge[0].value)){
alert("値は半角数字で入力してください。");
return(false);
}
if(isNaN(document.form1.hoge[1].value)){
alert("値は半角数字で入力してください。");
return(false);
}
return(true);
}
</script>

<form method="post" action="xxx.cgi" onSubmit="return check()" name="form1">
<input type="text" name="hoge[0]">
<input type="text" name="hoge[1]">
</form>

特にCGIに渡す必要がなければ
<input type="text" name="hoge">
<input type="text" name="hoge">
としてやればチェックができるのですが、どうしても次の
処理があるためname値を配列にする必要があります。

解決方法がわかる方がおられましたらご教授ください。
以上よろしくお願いいたします。

JavaScriptでフォームの半角数字のチェックをしたいのですが、
form内容をCGI(PHP)に渡すためname値を配列にしないといけないのですが、
以下のスクリプトだとエラーが出てしまいます。

*実際はif(isNaN~)と<input~>をループで書き出しており、行数が不特定なので
それぞれ別のname値を使うことができない状態です。

<script language="JavaScript">
function check() {
if(isNaN(document.form1.hoge[0].value)){
alert("値は半角数字で入力してください。");
return(false);
}
if(i...続きを読む

Aベストアンサー

かなり力業ですが、以下の方法でイケます。ええイケますとも。

function check(){
 for(i=0;i<=document.all.length;i++){
  try{
    if(document.all[i].name.indexOf('HOGE[',0) != -1)
     if(isNaN(document.all[i].value)){
      alert("値は半角数字で入力してください。");
      return false;
     }
  }catch(x){}
 }
}

上記のままコピー&ペーストすれば使えますが、
その際他のフィールドの名前に'HOGE['は使わないようにしてくだサイね。

QエスケープR3にパナレーサーのアーバンスーパーチューブは使えますか?

エスケープR3にパナレーサーのアーバンスーパーチューブは使えますか?
R3のホイールは買ったままの物です。バルブの長さが足りるか心配です。
実際買われた方、使われてる方がいましたら教えてください。

Aベストアンサー

自分はシマノのWH-R500で使用していますがギリギリです。
多分同じ程度のリムの高さだと思われるのでお薦め出来ません。

QJavascriptを勉強中でメールフォームを作っているのですが、

Javascriptを勉強中でメールフォームを作っているのですが、

function check(){
if(document.form1.namae.value==""){
alert("お名前を入力してください。");
return false;
}
else{
return true;
}
}
で名前が空白の時送信ボタンを押した時に警告メッセージが出るようにしようと思っています。
ボタンには以下のように書いています。

<form name="form1" action="mailto:mail@address" method="post" enctype="text/plain" onsubmit="check()">

そうすると警告は出ますが、処理を続行してメールも送れてしまいます。
教科書を見ると

<form name="form1" action="mailto:mail@address" method="post" enctype="text/plain" onsubmit="return check()">

となっているのでそうすると問題ないのですが、なぜreturnを入れないといけないのかよくわかりません。
check()の中ですでにfalseかtrueの値が出ているのでreturnが要らないと思ったのですが・・
初心者なのでよくわかっていません。
お願いいたします。

Javascriptを勉強中でメールフォームを作っているのですが、

function check(){
if(document.form1.namae.value==""){
alert("お名前を入力してください。");
return false;
}
else{
return true;
}
}
で名前が空白の時送信ボタンを押した時に警告メッセージが出るようにしようと思っています。
ボタンには以下のように書いています。

<form name="form1" action="mailto:mail@address" method="post" enctype="text/plain" onsubmit="check()">

そうすると警告は出ますが、処理を続行してメールも送れてしまい...続きを読む

Aベストアンサー

処理を継続する、停止するには、return true / return false が必要です。
true や false はただの値です。しかし、returnは命令です。
check()内にあるreturn命令は、onsubmitの中に値を届けるだけが仕事です。
onsubmit内にあるrerurn命令によって、onsubmitの処理に対して命令を伝えています。そこが、trueやfalseだけでは、それをどういう命令で処理したいのか判らないのです。

Qエスケープr3を1番安く変えるところはどこですか?

エスケープr3を1番安く変えるところはどこですか?

Aベストアンサー

グリップかペダルをママチャリ用に変えれば、1000円以内で済むんじゃない。


人気Q&Aランキング

おすすめ情報