javascript确认消息未重置

时间:2017-06-30 10:52:23

标签: javascript c# asp.net

我正在使用一个有点旧的应用程序并使用一些oldschool方法。

事情是:

我们有一个弹出多个文本框,组合框基本上输入组件如下所示

enter image description here

每当用户更改任何字段或通过它们导航时,页面都会刷新以进行验证。每次验证失败时,我们都会向这样的确认框添加一条消息(其中一个验证例子):

[Window Title]
Open file

[Content]
D:/WorkSpace/iSource/libdata/inc/hw_data_redblack_tree.h
The file name is invalid.

[OK]

在我们进行了所有验证之后:

string jscript = string.Empty;
if ( situacao != benOld.Situacao.Codigo && 
                             situacao != (int) SituacaoBeneficiarioEnum.Suspenso &&
                             benOld.Situacao.Codigo != (int)SituacaoBeneficiarioEnum.Suspenso &&
                             datasituacao < benOld.DataSituacao &&
                             datasituacao != Constants.NULLDATE)
jscript = jscript + " var i; for (i = 0; i < Page_Validators.length; i++) { ValidatorValidate(Page_Validators[i]); } ValidatorUpdateIsValid();  if ( Page_IsValid ){ "+ Pergunta5()+" } ";

ClientAction方法:

Toolbar.ActionSave.ClientAction = jscript +" var i; for (i = 0; i < Page_Validators.length; i++) { ValidatorValidate(Page_Validators[i]); } ValidatorUpdateIsValid();  if ( Page_IsValid ){ "+ jsNomesDep+" }";

当我们提交表单时,会弹出一条确认消息,如:

“有些验证出了问题,还想继续吗?”

如果用户按下OK,则会提交字段,一切正常。

问题是:如果用户真的想再次更改该字段,则必须按取消,更改字段并再次提交。我们的问题是,即使第二次验证顺利,也会再次弹出相同的确认消息。正如我所看到的,PostBack没有清除以javascript发送的消息的信息。

1 个答案:

答案 0 :(得分:0)

我认为问题在于你的onclick&#39;它只运行“获得价值”&#39;所以你没有运行代码的第一部分,所以这只运行一次:

jscript = string.Empty;
if ( situacao != benOld.Situacao.Codigo && 
                             situacao != (int) SituacaoBeneficiarioEnum.Suspenso &&
                             benOld.Situacao.Codigo != (int)SituacaoBeneficiarioEnum.Suspenso &&
                             datasituacao < benOld.DataSituacao &&
                             datasituacao != Constants.NULLDATE)
jscript = jscript + " var i; for (i = 0; i < Page_Validators.length; i++) { ValidatorValidate(Page_Validators[i]); } ValidatorUpdateIsValid();  if ( Page_IsValid ){ "+ Pergunta5()+" } ";

您的邮件错误将始终如一,这就是我认为发生的事情