在Javascript中链接事件处理

时间:2017-04-06 17:46:40

标签: javascript jquery html ajax forms

背景:

我有一个带有文本框(TBX_A)的表单,一个隐藏的附加数据文本框(TBX_ADNL) ,一个下拉列表(DPDN)和一个提交按钮(BTN)。

在我的javascript中,我发出一个ajax调用来发布在TBX_A中输入的文本。在TBX_A上的“OnFocusOut”事件中触发此ajax验证。

根据ajax响应,我可以取消隐藏附加文本框(TBX_ADNL)以供用户输入其他数据。

单击提交按钮(BTN)会触发另一个ajax调用,该调用会向表单提交所有数据。

如果用户在文本框中输入文字后点击了提交按钮,我们有时会在提交按钮(jQuery .focusout / .click conflict)上丢失点击事件。

问题:

在我的表单中,用户可以选择单击下拉列表或提交按钮 - 当单击事件丢失时,下拉列表需要再次单击以展开,如果单击事件已注册,则可能导致用户在提交表单之前,无需在附加数据文本框中输入可能 required 的其他数据,即可提交表单。

我的问题如下:

  • 有时(基于ajax响应)我可能需要向用户显示TBX_ADNL,在此之前我不应该允许他提交表单,而在其他时候我应该允许他们在表格中汇总TBX_ADNL是仍然隐藏着。
  • 如果用户点击了下拉列表,我只需单击即可展开下拉列表,同时向用户显示TBX_ADNL。

我在javascript中研究过promises,但是很多浏览器都不支持它,我应该如何实现这样的要求呢?

非常感谢任何帮助。

UPD:我在我的ajax调用中使用了async = false。

0 个答案:

没有答案