Javascript:出现测试警报消息时行为不同

发布于 2024-08-07 22:36:56 字数 522 浏览 6 评论 0原文

我有一个文本框函数,如下所示,

<input type="text" onkeypress="return onEnter(event,this);"
    onBlur="return chkForDBCS(this);"/>

函数 chkForDBCS() 检查文本中是否输入了 DBCS(主要用于日语字符),并抛出警报消息并清除文本框。

函数 onEnter() 提交表单。

当我在 onEnter() 函数开头有测试警报消息时,首先执行 onBlur 的 chkForDBCS() 并等待其完成以在 onEnter 方法上启动。

但是当我删除 onEnter 中的测试警报消息时,将提交表单(onEnter)并同时显示警报消息(来自 chkforDBCS)。

但我的要求是首先检查是否使用 chkForDBCS 输入了 DBCS 字符,一旦一切正常,才需要提交表单。

有没有类似同步的东西可以用来解决上述问题。

谁能帮我解决上述问题。提前致谢。

I have a text box function as below

<input type="text" onkeypress="return onEnter(event,this);"
    onBlur="return chkForDBCS(this);"/>

function chkForDBCS() check if a DBCS(mainly for japanese char) is entered in the text and throws an alert message and clears the text box.

function onEnter() submits the form.

When i have test alert message on the beginning of onEnter() function, then on onBlur's chkForDBCS() is executed first and and waits till its completion to start on onEnter method.

But when i removed the test alert message in onEnter, then form is submitted(onEnter) and simultaneously alert message(from chkforDBCS) is displayed.

But my requirements are first to check if DBCS char is entered using chkForDBCS and once everything is fine, only then the form needs to be submitted.

Is there something like synchronization which i can use to solve the above problem.

Could anyone help me out on the above problem. Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

弃爱 2024-08-14 22:36:56

使用 onbeforesubmit 事件:

<form onbeforesubmit="onBeforeSubmitHandler()" ...>

您可以从事件处理程序返回 false 以阻止提交表单。

此外,您为什么使用 onkeypress 来提交表单?你没有正常的提交按钮吗?

Use the onbeforesubmit event:

<form onbeforesubmit="onBeforeSubmitHandler()" ...>

You can return false from your event handler to prevent the form from being submitted.

Furthermore, why are you using onkeypress to submit the form? Don't you have a normal submit button?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文