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

FORMアクションでのパラメータに'+'や'-'などの特殊記号は使えるのでしょうか?
JavaScriptの場合、'+'は文字列の連結になって
しまうのですが、回避策などあれば教えてください。

よろしくおねがいします。

A 回答 (1件)

FORMアクションのパラメータということは、inputタグのvalue値のことでしょうか?


それとも<form action=...>のところでファイル名の後に「?abc=def」のような形でパラメータを付けることを考えてるんでしょうか。

inputタグのvalue値であれば+も-も問題なく使えます。サーバに送信される際にそのままでは使えない文字も自動的にURL encodeされて送られますから、CGIプログラム側で通常通りdecodeしてあげればOKです。
ただ、formのaction=...のところにパラメータを付けるんであれば、その部分のパラメータはURL encodeの対象外のため、「-」はともかく「+」はURL encodeの空白と誤認識される危険があるため、「%2B」というように「"%"+その文字のASCIIコード(16進数)」の形に変換してやる必要があります。

そもそもformタグが使えるんなら、わざわざaction=の後ろにパラメータを書かなくても、inputタグをhidden属性で使ってvalueを指定した方が、面倒なことを考えないで済む分楽だと思いますけど…。
    • good
    • 0

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