2017-10-22 4 views
0

私はこのサイトを3日間見ました。私はjavascriptを初めて使うことを認めます。しかし、私は提供された多くの異なるソリューションを使用しており、誰も働いていません。助けてください。xferringの実際のコードjavascript変数からポスト変数

私は簡単なことをしようとしています:html5ページのドロップダウンボックスから国のユーザーの選択肢を隠しポスト変数(javascript onchangeを使用)に保存します。同じもののポスト配列で使用されますmysqlデータベースに入力を送るphp操作用のフォーム。これは私のコードです

隠しポスト変数は更新されません。そこから私はコードロジックをテストすることはできません。しかし、私のonchangeコードはこのサイトから来て、動作すると思われます。

参照:

<script type="text/javascript" src="../../js/jquery-2.1.4.min_prod.js"> </script> 
<script type="text/javascript" src="../../js/respond.min.js"> </script> 
<script type="text/javascript" src="../../js/bootstrap.min.js"> </script> 

フォーム情報:

<form name="form1" method="post" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" /> 
</form> 

フォーム要素

$query="SELECT * from country "; 
$query=$query."ORDER BY country asc"; 
$data = mysqli_query($conn,$query); 
//or die('could not connect to db:'. mysqli_connect_error()); 
mysqli_error($conn); 
If ($data) { 
echo '<select id="country" onchange="send_name(this)">'; 
echo '<option value="204">United States</option>'; 
while ($row = mysqli_fetch_array($data)) { 
echo '<option value="'.$row['country_id'].'">'.$row['country'].'</option>'; 
}//while 
echo '</select>'; 
}//if 
mysqli_close($conn); 
?> 
<input type="hidden" id="c_php_value" name="c_php_value" value=""> 

Javascriptを

function send_name(selectObjectI) { 
     var value = selectObjectI.value; 
     $.ajax({ 
      type: "POST", 
      url: "http://localhost/php/protected/form_addnews.php", 
      data:{c_php_value: value} 

     }); 

は、郵便番号

$country_id1 = trim($_POST['c_php_value']); 
+0

あなたは隠しフィールドの値を変更していないか、読んでないしている - あなたはそれが何をすべきかを期待していますか? POSTのキーの値としてJSON値を送信していないので、 '$ _POST'の値を使用することはできません。通常のPOSTだけでなく、JSONでなければならない理由がありますか? – MatsLindh

+0

これはそうではありませんか? $ .post( "form_addnews.php"、JSON.stringify({c_php_value:value})); – Rod

+0

大丈夫です。私は私のonchangeが動作していることを私のjavascriptデバッグ[感謝、utube]から見る。上記のように、値は隠しポストオブジェクトには転送されません。しかし、もしjsonのステートメントがこれをしないとすれば?ありがとうございました – Rod

答えて

0

を提出utube上のコーダのおかげで、私が追加される場合がありますドイツ語を話して、私は私が達成するためにはJavaScript、AJAXや複雑な何かをする必要はありません発見私がやろうとしていること。

私は単純に次の操作を実行するために必要な:

(1) "(country_id2 "動的に作成されたSELECTフラグ名は=)に"=" 名前を追加します。

(2)ユーザーがドロップダウンボックスを作成して入力を選択します。

(3)フォームの送信が設定された後、(3)$ _POSTを収集します。 ($ COUNTRY_ID = $ _POST [「country_id2」])

$data = mysqli_query($conn,$query); 
//or die('could not connect to db:'. mysqli_connect_error()); 
mysqli_error($conn); 
If ($data) { 
    echo '<select name="country_id2" id="country_id2">'; 
    echo '<option value="204">United States</option>'; 
    while ($row = mysqli_fetch_array($data)) { 
     echo '<option  value="'.$row['country_id'].'">'.$row['country'].'</option>'; 
    }//while 
    echo '</select>'; 
}//if 
mysqli_close($conn); 
関連する問題