Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript函数检查vb变量_Javascript - Fatal编程技术网

Javascript函数检查vb变量

Javascript函数检查vb变量,javascript,Javascript,我正在使用下面的功能,但它确实起作用,请有人指出哪里出了问题 vb变量是从数据库查询生成的 window.onload function PostCodeChecker() { if (<%= sPostalCode %> !== 'SW') { alert("This is not an SW Postal Code"); } } window.onload函数PostCodeChecker(){ 如果(!=='SW'){ 警报(“这不是西南邮政编码”); } } 这里真正发生的

我正在使用下面的功能,但它确实起作用,请有人指出哪里出了问题

vb变量是从数据库查询生成的

window.onload function PostCodeChecker() {
if (<%= sPostalCode %> !== 'SW') {
alert("This is not an SW Postal Code");
}
}
window.onload函数PostCodeChecker(){
如果(!=='SW'){
警报(“这不是西南邮政编码”);
}
}

这里真正发生的是,服务器端代码在您输入的值中进行交换,并将结果发送到浏览器。因此,如果
sPostalCode
是(说)“NW10”,您将得到

window.onload function PostCodeChecker() {
if (NW10 !== 'SW') {
//  ^--- ERROR (unless you happen to have a client-side variable by that name, which I'm guessing you don't)
alert("This is not an SW Postal Code");
}
}
因此,需要在其周围加引号(并且需要添加缺少的
=
),如下所示:

//            v-- was missing
window.onload = function PostCodeChecker() {
if ('<%= sPostalCode %>' !== 'SW') {
//  ^--- here          ^--- and here
alert("This is not an SW Postal Code");
}
}
if (SW !== 'SW')
这假设字符串中不包含任何
字符,或其他可能导致(当服务器端处理完成并将结果发送到浏览器时)无效JavaScript字符串文本的字符

当然,您可以这样做:

<% If sPostalCode <> "SW" Then %>
window.onload = function() {
alert("This is not an SW Postal Code");
}
<% End If %>

…在各种浏览器上都有问题,最明显的是IE。它被称为命名函数表达式,因为它是一个函数表达式,其中函数有一个名称(
name
,在本例中)。在IE上,它会导致创建两个完全独立的函数,这可能会非常混乱。更多信息:

这里真正发生的是,服务器端代码在您输入的值中交换,并将结果发送到浏览器。因此,如果
sPostalCode
是(说)“NW10”,您将得到

window.onload function PostCodeChecker() {
if (NW10 !== 'SW') {
//  ^--- ERROR (unless you happen to have a client-side variable by that name, which I'm guessing you don't)
alert("This is not an SW Postal Code");
}
}
因此,需要在其周围加引号(并且需要添加缺少的
=
),如下所示:

//            v-- was missing
window.onload = function PostCodeChecker() {
if ('<%= sPostalCode %>' !== 'SW') {
//  ^--- here          ^--- and here
alert("This is not an SW Postal Code");
}
}
if (SW !== 'SW')
这假设字符串中不包含任何
字符,或其他可能导致(当服务器端处理完成并将结果发送到浏览器时)无效JavaScript字符串文本的字符

当然,您可以这样做:

<% If sPostalCode <> "SW" Then %>
window.onload = function() {
alert("This is not an SW Postal Code");
}
<% End If %>

…在各种浏览器上都有问题,最明显的是IE。它被称为命名函数表达式,因为它是一个函数表达式,其中函数有一个名称(
name
,在本例中)。在IE上,它会导致创建两个完全独立的函数,这可能会非常混乱。更多信息:

如果没有引号,它将查找一个名为sPostalCode值的变量

尝试:

window.onload=函数PostCodeChecker(){
如果(“”!=“SW”){
警报(“这不是西南邮政编码”);
}
}

如果没有引号,它将查找一个名为sPostalCode值的变量

尝试:

window.onload=函数PostCodeChecker(){
如果(“”!=“SW”){
警报(“这不是西南邮政编码”);
}
}

第一个错误是:

window.onload function PostCodeChecker() {
if (<%= sPostalCode %> !== 'SW') {
您缺少赋值运算符并为其命名(IE IRRC中的内存泄漏):

第二个错误是:

window.onload function PostCodeChecker() {
if (<%= sPostalCode %> !== 'SW') {
SW
是一个未定义的值。您可能希望将ASP用引号括起来,并确保输出的是JS和HTML安全的

错误的主要原因是您在客户端上进行测试,而您可以在服务器上轻松地进行测试

Psuedo代码因为我不做ASP:

<% if (sPostalCode == "SW") {
       print 'alert("This is not an SW Postal Code");'; 
   }
%>


(但将其完全从JS中删除,并将其作为文本放在页面中是最常见、最可靠的方法)。

第一个错误是:

window.onload function PostCodeChecker() {
if (<%= sPostalCode %> !== 'SW') {
您缺少赋值运算符并为其命名(IE IRRC中的内存泄漏):

第二个错误是:

window.onload function PostCodeChecker() {
if (<%= sPostalCode %> !== 'SW') {
SW
是一个未定义的值。您可能希望将ASP用引号括起来,并确保输出的是JS和HTML安全的

错误的主要原因是您在客户端上进行测试,而您可以在服务器上轻松地进行测试

Psuedo代码因为我不做ASP:

<% if (sPostalCode == "SW") {
       print 'alert("This is not an SW Postal Code");'; 
   }
%>

(但将其完全从JS中删除,并将其作为文本放在页面中是最常见、最可靠的方法)。

两个问题

  • 您忘记了
    =
    ,因此语法无效

  • >P>在ASP工作之后,你应该考虑得到的JavaScript是什么样子的。code>sPostalCode
    正在被替换,因此如果它的值为“
    SW
    ”,则您的条件结果如下:

    //            v-- was missing
    window.onload = function PostCodeChecker() {
    if ('<%= sPostalCode %>' !== 'SW') {
    //  ^--- here          ^--- and here
    alert("This is not an SW Postal Code");
    }
    }
    
    if (SW !== 'SW')
    
    这是无效的Javascript,因为该字符串周围没有引号

    要修复:

    window.onload = function PostCodeChecker() { // <---- equals
       if ('<%= sPostalCode %>' !== 'SW') {         // <---- quotes in the JS
          alert("This is not an SW Postal Code");
       }
    }
    
    window.onload=函数PostCodeChecker(){/有两个问题

  • 您忘记了
    =
    ,因此语法无效

  • 在ASP工作之后,你应该考虑得到的JavaScript是什么样子的。<代码> SpistCudio<代码>被替换,所以如果它具有值“<代码> SW ”,那么你的条件就这样结束了:

    //            v-- was missing
    window.onload = function PostCodeChecker() {
    if ('<%= sPostalCode %>' !== 'SW') {
    //  ^--- here          ^--- and here
    alert("This is not an SW Postal Code");
    }
    }
    
    if (SW !== 'SW')
    
    这是无效的Javascript,因为该字符串周围没有引号

  • 要修复:

    window.onload = function PostCodeChecker() { // <---- equals
       if ('<%= sPostalCode %>' !== 'SW') {         // <---- quotes in the JS
          alert("This is not an SW Postal Code");
       }
    }
    

    window.onload=function PostCodeChecker(){//这是生成的代码还是您编写的代码?生成的代码看起来如何?您很可能需要在
    周围加引号。如果它“有效”,那么问题出在哪里?:这是生成的代码还是您编写的代码?生成的代码是什么样子的?您很可能需要在
    周围加引号。如果它“起作用”,那么问题出在哪里?:D