如果 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; } " />
else 显然是通过 AJAX 提交表单。
我想做的是使用 OnFocus 捕捉用户 OnFocuses 时的内容,然后对照 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,显然将其与动态值进行比较将不允许它更新,因为它仍然认为值是值 x,而不是它已更改为值 y。因此,为什么我要弄清楚 javascript 路由。
任何帮助将不胜感激!乙脑