this.valueが「」に等しくない場合、現在各onblurでAJAXクエリストアを実行していますが、ユーザーがフォームをタブで移動して何も変更しない場合、これはデータベースクエリヒットの非常識な量です(そして、私はチェックします実際のデータベース クエリ スクリプトの変更については、まだ)。
これが私が現在行っていることです:
<input type="text" name="EUName" id="EUName" value="[whateverdynamicvalue]"
class="contentextformtxt" onblur="if (this.value == '')
{this.value = '[whateverdynamicvalue]';} else { UpdateEUData();return false; } " />
それ以外の場合は、明らかに AJAX 経由でフォームを送信します。
私が考えたのは、OnFocus を使用して、ユーザーが OnFocus したときにコンテンツが何であったかをキャプチャし、それを this.value OnBlur と照合して、何かが変更されたかどうかを確認することでした。私が正しい軌道に乗っているかどうかはわかりませんが(javascriptがあまり得意ではありません)、これまでのところ私が持っているものは次のとおりです。
<input type="text" name="EUAddress1" id="EUAddress1" value=" [whateverdynamicvalue] "
class="contentextformtxtlarge" onblur="if (this.value == '' || this.value == originalfvalue)
{this.value = ' [whateverdynamicvalue] ';} else { UpdateEUData();return false; } "
onfocus="Var originalfvalue = this.value" />
それがベストプラクティスかどうかはわかりませんが、どちらにしてもうまくいきません。修正方法に関する提案は素晴らしいでしょう!要するに、サーバーのトラフィックを削減する方法を見つけようとしているだけです。私はもともとそれを動的な値と比較していましたが、問題は、誰かが値を値 x から値 y に変更し、それを値 x に戻そうとした場合、明らかにそれを動的な値と比較することはできません。値が値 y に変更されたのではなく、値が依然として値 x であると考えているため、更新します。したがって、なぜ私はjavascriptルートを理解しようとしています。
どんな助けでも事前に大歓迎です!日