1

我想通过更改 HTML 代码来触发 JavaScript 函数。

这就是我所做的:

  1. 有一个带有按钮的网页
  2. 我点击那个触发 JavaScript 函数的按钮
  3. 该函数生成放在 URL 中的参数
  4. 我从在 Windev 中制作的服务器端代码中的 URL 中检索这些参数
  5. Windev 生成一个结果,通过重新生成页面添加到 HTML 代码中

结果可能是肯定的(在这种情况下很好),但如果结果是否定的(显示错误),那么我想从我的 Windev 代码中触发一个 JavaScript 函数。我想通过从 Windev 添加对 HTML 代码中的函数的调用来做到这一点。

那么如何在 HTML 中触发 JavaScript 函数呢?(不使用按钮!)

4

2 回答 2

2

我有更好的解决方案。

服务器端

当出现错误时,您将查询参数附加error=1到结束 url。

如果你有一个类似的页面nettpals.in/default,在遇到错误后,你会附加一个查询字符串,nettpals.in/default?error=1例如:做 :) )

客户端

使用这个 javascript:

window.onload=function(){
  if(getParameterByName('error')=='1'){
    // do something
  }
}
function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

它有什么作用 ?

首先,如果发生错误,您将查询字符串附加error=1到 url。在客户端,

您正在检查 url 是否有error参数。如果是这样,它会自动执行if条件内的代码。

注意:将注释替换为// do something您的代码。并且由于此代码适用于onload事件,因此您无需触发它(例如:使用按钮

于 2014-03-06T13:40:35.620 回答
1

我在 HTML 代码中添加了另一个 %-variable,如下所示:

<body%4>

我在 Windev 中用以下行替换:

onload="showMessageBox()"

showMessageBox() 是我打算触发的函数。

于 2014-03-06T14:11:22.483 回答