2017-02-12 2 views
-3

trueとして開始するグローバルJavaScript変数btnEnabledがあります。私のフォームの送信ボタンの状態を定義します。 AJAX呼び出しでinnerHTMLを使用してdivを入力すると、この変数はfalse(一部はselectが空のため)になり、関連するボタンが無効になります。これは、PHPコードの重要な部分です。しかし、私はinnerHTMLプロパティが自動的にJavaScriptを実行しないことをJavaScript変数をPHPから変更するには?

echo " <select id='sel$line1' onchange='selAddChange()'>"; // there are many selects like this 
// ... 
echo "<option value='none' selected></option>"; // if this is selected, it's because some value have not been found on database, so the next line should be executed on the client browser 
echo "<script type='text/javascript'>btnEnabled = false;</script>"; // should disable JavaScript variable related to 'Add' button 
// ... 
echo "</select><br>"; 

here読みました。しかし、それはevalの使用を避けるようにも言います。

変数をfalseとして開始すると、selectがまったくなく、同じ方法で変数の値を変更する必要があります。

私は質問herehereも見ましたが、どれも私の問題を解決していないようです。

JavaScript変数の値をPHP/Server側から変更するにはどうすればよいですか?

+0

ServerからAJAXで何かを呼び出し、その結果を変数に入れます。これはbodyのonloadメソッド内で行うことができます。 –

+0

@ Am.rezすでにクライアントからAJAXリクエストを受けて、divに結果を入れています。あなたはサーバーから別のAJAXを作ることを意味しますか?私はそのようなことを見たことがない。本気ですか? – Rodrigo

+0

ダウン投票者は何ですか?受け入れられた答えはリンクされた3つの質問のいずれにも見つかりませんでした。受け入れられた答えが働く。テキストは、十分に明確で、有用な答えを受け取ることができます。だから質問に何が問題なの? – Rodrigo

答えて

1

HTMLコードと変数の新しい値の2つのフィールドを含むサーバーからXMLまたはJSONを返します。 JS側ではこれらの2つの値をレスポンスから抽出し、それぞれの場所に配置します。

+0

ええ、良い解決策のように見えます。しかし、なぜ2つの下の議論がコメントアウトされているのか分からない。 – Rodrigo

関連する問題