2012-01-05 3 views
0

私はユーザの画面解像度を取得し、それをデータベースに保存する必要があります。Javascriptを使用して非表示のフィールド値を設定します。 PHP postメソッドを使用してデータを送信する

私がやっていることは次のとおりです:私は、情報を取得し、隠されたフォームフィールドに値を渡すと呼ばれるJavascript関数を持っています。これは、関数である:

<script type="text/javascript"> 

function getUserData(){ 

var s_width=screen.width 
var s_height=screen.height 
document.getElementById('screen_width').value=s_width 
document.getElementById('screen_height').value=s_height 

} 

</script> 

とフォーム:

<form name="login" id="login" action="memberlogin.php" method="post"> 
<input type="hidden" id="screen_width" name="screen_width"> 
<input type="hidden" id="screen_height" name="screen_height"> 
<table style="margin-top:9px;"> 
<tr><td width="200px"><input type="text" name="username" style="width:100%"/></td></tr> 
<tr><td width="200px"><input type="password" name="password" style="width:100%"/></td></tr> 
<tr><td><input type="submit" name="submit" value="Log In" /></td></tr> 
</table> 
</form> 

フォームが同じページに送信されます。 'submit'をクリックして$ _POST ['screen_width']と$ _POST ['screen_height']の値をエコーすると、何も起こりません。しかし、私がそれを再提出するとき、値はそこにあります。誰かが私に間違っていることを教えてもらえますか?代替ソリューションをお持ちの場合は、同様に評価されます。

+0

あなたのPHPコードも書きます.. –

+0

このコードは正しいようです。PHPでいくつかのprobが必要です –

+1

あなたの関数はどこで呼び出されていますか? – amccausl

答えて

0

自分で解決しました。要素を読み込んだ後に関数を呼び出すだけでした。

1

あなたはfirebugの出力をチェックしましたか?おそらくいくつかのエラーがありますか?あなたの関数で警告sthを試してください、おそらくそれは最初のページの読み込み後に呼び出されていないのですか?送信ボタンのonClickまたはフォームのonSubmitイベントに関数呼び出しを入れてみてください。

関連する問題