2012-01-07 19 views
3

2つの変数の値をURLに渡していますが、urlは後でリダイレクトされます。それらをJavaScript文字列に挿入するにはどうすればよいですか?URLを介して2つのJavaScript変数を渡すにはどうすればよいですか?

var a = document.getElementById("username_a").value; 
var b = document.getElementById("username_b").value; 

をして何かしたい:

は私が持っているvar string_url = "http://www.example.com/?{a}blabla={b}"をして、何とかリダイレクト。

私は例えばそのコードに行くとPHPで

<iframe src="http://www.example.com?query=<?php echo $the_variable;?>">

答えて

0

分割するためにアンパサンドを使用

var string_url = "http://www.example.com/?" + "username_a=" + a + "&username_b=" + `b 

がよりsopisticated作ることができるが、本質的にそれはあなたが

+0

これはユーザー入力です。データ**はエスケープする必要があります。 – Quentin

0
必要とするものであるvarsは

JavaScriptは文字列補間を行いません。値を連結する必要があります。

var uri = "http://example.com/?" + encodeUriComponent(name_of_first_variable) + "=" + encodeUriComponent(value_of_first_variable) + '&' + encodeUriComponent(name_of_second_variable) + "=" + encodeUriComponent(value_of_second_variable); 
location.href = uri; 
6

あなたは"a" + "b" == "ab"trueと評価され、JavaScriptで文字列を追加することができます。

だから何あなたが欲しいのは、おそらくvar string_url = "http://www.example.com/?" + a + "&blabla=" + b;

あるしかし、あなたはこれまでに、彼らはinput sから来る場合は特にVARSをエスケープので、あなたをリダイレクトするには

a = encodeURIComponent(a); 
b = encodeURIComponent(b); 

そして

var string_url = "http://www.example.com/?" + a + "&blabla=" + b; 

を試してみてください使用可能window.location

window.location = string_url; 
関連する問題