2016-09-19 5 views
0

私のサイトのフロントエンドでユーザー名とパスワードを取得し、外部URL(顧客用のポータル)に送信するログインフォームを作成しようとしています。 。彼らが私のウェブサイトのフォームに嘆かわしいデータを入れて、ポータルで新しいURLに渡してログインさせたいのですが、今は何も起こっておらず、何が起きているのか理解できません。現在のところ、フォームを送信すると、フォームからのPOSTデータとともに現在のURLに追加され、外部URLにデータを送信しようとはしません。フォームとそのデータを外部URLに転送してリダイレクトする

HTML:

<form id="redirect-form"> 
<p class="mbn"><input type="text" name="loginid" placeholder="username" /></p> 
<p class="mbn"><input type="password" name="password" placeholder="password" /></p> 
<p> <button type="submit" onclick="javascript:register()">Sign In</button></p> 
</form> 

JS:

function register() { 
    form=document.getElementById('redirect-form'); 
    form.target='_blank'; 
    form.action='https://pathtomyportal.com'; 
    form.submit(); 
} 
+0

フォームに 'method =" post "を設定してください。 – BadHorsie

+0

これはまさにフォームが' action'属性を追加したときにjavascriptを全く使わずに行うことです。 POSTメソッドも使用する必要があります。 – adeneo

+0

また、アクション、ターゲットを追加し、JSを介してフォームを送信する理由はありますか? HTMLにこれらの属性を追加するだけではどうですか? – BadHorsie

答えて

0
POSTに、フォームのメソッドを変更し

<form id="redirect-form" method="POST"> 
<p class="mbn"><input type="text" name="loginid" placeholder="username" /></p> 
<p class="mbn"><input type="password" name="password" placeholder="password" /></p> 
<p> <button type="submit" onclick="javascript:register()">Sign In</button></p> 
</form> 

あなたのJavascriptは有効で、正常に動作しています。それはサーバ側にpostデータを送信します。

関連する問題