Javascript函数检查vb变量
我正在使用下面的功能,但它确实起作用,请有人指出哪里出了问题 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'){ 警报(“这不是西南邮政编码”); } } 这里真正发生的
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