2012-11-06 4 views
5
<html> 
<head> 
<script> 
function open_win() 
{ 
    window.open("http://localhost:8080/login","mywindow") 
} 
</script> 
</head> 
<body> 

<input type="button" value="Open Window" onclick="open_win()"> 

</body> 
</html> 

こんにちは、ジャバスクリプト:(window.openでカスタムパラメータを送信する)が、そのボタンをクリックするだけで

を働いていない、私はnew website(私のウェブサイト)を開封しております 私は(ワンを2 text fieldsを持っていますテキストフィールドと別のパスワードフィールド)、私はこの値を別の開いているウィンドウに送信しようとしています。

しかし、私が望むように動作しません。

私はこれが可能であるかどう

1. window.open("http://localhost:8080/login?cid='username'&pwd='password'","mywindow") 

2. window.open("http://localhost:8080/login","mywindow") 
    mywindow.getElementById('cid').value='MyUsername' 
    mywindow.getElementById('pwd').value='mypassword' 

誰も私を助けてもらえ、次の方法を試してみました?

不完全な詳細については申し訳ありませんが、その投稿のリクエスト。

+7

知っていますか**誰もが見ることができるように、それは暗号化されておらず、見やすいので危険です**。 –

答えて

8

あなたはPOST変数を渡したい場合は、あなたがHTMLフォームを使用する必要があります:あなたはURLでGET変数を渡したい場合は、単一引用符なしでそれらを書く、

<form action="http://localhost:8080/login" method="POST" target="_blank"> 
    <input type="text" name="cid" /> 
    <input type="password" name="pwd" /> 
    <input type="submit" value="open" /> 
</form> 

かを:

http://yourdomain.com/login?cid=username&pwd=password 

はここjavascrpt変数で上記の文字列を作成する方法は次のとおりです。

myu = document.getElementById('cid').value; 
myp = document.getElementById('pwd').value; 
window.open("http://localhost:8080/login?cid="+ myu +"&pwd="+ myp ,"MyTargetWindowName"); 

そのURLを持つドキュメントでは、GETパラメータを読み取る必要があります。それがPHPの場合は、使用してください:

$_GET['username'] 

注意:パスワードを送信する方法は大きなセキュリティリークです!

+0

GET変数はJavaScript変数から来ています* – Quentin

1

文字列を連結するには、+演算子を使用します。

URIにデータを挿入するには、URI用にエンコードします。

悪い:

​​グッド

var url_safe_username = encodeURIComponent(username); 
var url_safe_password = encodeURIComponent(password); 
var url = "http://localhost:8080/login?cid=" + url_safe_username + "&pwd=" + url_safe_password; 

サーバがデータを利用するために、クエリ文字列を処理する必要があります。任意のフォームフィールドに割り当てることはできません。

...ただし、新しいウィンドウが表示されたり、URIの資格情報(肩の攻撃で暴露されてログに記録される可能性があります)を渡すことはありません。

1

あなたはこれを使用することができますが、セキュリティ上の問題

<script type="text/javascript"> 

function fnc1() 
{ 
    var a=window.location.href; 

    username="p"; 
    password=1234; 
    window.open(a+'?username='+username+'&password='+password,""); 

} 

</script> 
<input type="button" onclick="fnc1()" /> 
<input type="text" id="atext" /> 
0
You can try this instead 


var myu = document.getElementById('myu').value; 
var myp = document.getElementById('myp').value; 
window.opener.location.href='myurl.php?myu='+ myu +'&myp='+ myp; 

注意が残っている:、ユーザー名のようなパスワードを機密情報を渡すために、このメソッドを使用しないでくださいが。

0

あなたは以下のようなもの、あなたのURLにデータを送信するためにPOSTで隠されたフォームを使用することができ、この例のコードを見つけてください:あなたは `window.open`にパスワードフィールドを渡すことであることを

function open_win() 
{ 
    var ChatWindow_Height = 650; 
    var ChatWindow_Width = 570; 

    window.open("Live Chat", "chat", "height=" + ChatWindow_Height + ", width = " + ChatWindow_Width); 

    //Hidden Form 
    var form = document.createElement("form"); 
    form.setAttribute("method", "post"); 
    form.setAttribute("action", "http://localhost:8080/login"); 
    form.setAttribute("target", "chat"); 

    //Hidden Field 
    var hiddenField1 = document.createElement("input"); 
    var hiddenField2 = document.createElement("input"); 

    //Login ID 
    hiddenField1.setAttribute("type", "hidden"); 
    hiddenField1.setAttribute("id", "login"); 
    hiddenField1.setAttribute("name", "login"); 
    hiddenField1.setAttribute("value", "PreethiJain005"); 

    //Password 
    hiddenField2.setAttribute("type", "hidden"); 
    hiddenField2.setAttribute("id", "pass"); 
    hiddenField2.setAttribute("name", "pass"); 
    hiddenField2.setAttribute("value", "[email protected]$"); 

    form.appendChild(hiddenField1); 
    form.appendChild(hiddenField2); 

    document.body.appendChild(form); 
    form.submit(); 

} 
関連する問題