value="name+asc" を非表示フィールドに入れたい。HTTP メソッドは Get です。
<input type="hidden" value="name+asc" name="sort" />
しかし、URL に name+asc を入れることはできません。
どうすればその問題を処理できますか。
value="name+asc" を非表示フィールドに入れたい。HTTP メソッドは Get です。
<input type="hidden" value="name+asc" name="sort" />
しかし、URL に name+asc を入れることはできません。
どうすればその問題を処理できますか。
フォーム入力の値は、フォームが送信されると自動的に正しくエンコードされます。application/x-www-form-urlencoded
データでは、記号+
はスペースを表すため、ブラウザーはそれを としてエンコードし%2B
ます。
データを含むフォームを送信する+
場合: 持っているコードは問題ありません。
データにスペースを含むフォームを送信する場合: リテラル スペースを使用します。ブラウザはそれをエンコードします。
メソッドを介してデータを渡すときに、JavaScript でフォーム データを読み取り、プログラムで URL (またはポスト リクエスト) を作成するencodeURIComponent
場合。
var value = "123+456";
var encodedValue = encodeURIComponent(value);
var url = "http://example.com/?query=" + encodedValue;
手動で URI を作成する場合 (たとえば、HREF 属性に貼り付けるため)、エンコードされた値をどこかで検索する必要があります。ターミナルで node.js を実行する傾向があるため、すばやく入力できencodeURIComponent('a string literal');
ます。