这是我的javascript函数
function onload(){
var calMaxAmtStatus='<%=request.getAttribute("calMaxAmountStatus") %>';
alert(calMaxAmtStatus);
if (typeof(calMaxAmtStatus) != 'undefined' && calMaxAmtStatus != null){
document.forms[0].status.value=calMaxAmtStatus;
}
我正在
request.getAttribute("calMaxAmountStatus")
在某些情况下值 我想将值设置为一个字段,只要它不是null或空字符串。
这是我迄今所做的
我打印了calMaxAmtStatus
它给了我字符串作为结果
calMaxAmtStatus !=null
进行比较时,似乎无效。
我每次都会在该字段中打印空白
我的问题是,如果calMaxAmtStatus
变量没有任何值,我不想打印任何内容。
答案 0 :(得分:1)
永远不会执行此代码:var calMaxAmtStatus='<%=request.getAttribute("calMaxAmountStatus") %>'
。因为在任何情况下你都会有一个字符串值。
在此代码中,calMaxAmtStatus
request.getAttribute("calMaxAmountStatus")
变量始终具有字符串值。即使null
将在java中返回"null"
,但在JavaScript中它将转换为function onload(){
var calMaxAmtStatus='<%=request.getAttribute("calMaxAmountStatus") %>';
alert(calMaxAmtStatus);
if (calMaxAmtStatus && calMaxAmtStatus != 'null') {
document.forms[0].status.value=calMaxAmtStatus;
}
}
值。引用的词&#34; null&#34;。
试试这个:
if (calMaxAmtStatus && calMaxAmtStatus != 'null') {
/*
If calMaxAmtStatus is not an empty string and
calMaxAmtStatus is not equal to 'null' string
value (NOT to null primitive type) run your code
*/
}
让我们分析:
.
答案 1 :(得分:0)
我认为这里的问题是你声明中的引用
&#39;&lt;%= request.getAttribute(&#34; calMaxAmountStatus&#34;)%&gt;&#39;
这将导致将null变量指定为&#39; null&#39;这意味着你的变量永远不会真正未定义添加到你的if来检查&#39; null&#39;的字符串值。
if(typeof(calMaxAmtStatus)!=&#39; undefined&amp;&amp;&amp; calMaxAmtStatus!= null&amp;&amp; calMaxAmtStatus!=&#39; null&#39;)
答案 2 :(得分:0)
让测试在服务器端:
CREATE TABLE [dbo].[User] (
[Username] VARCHAR (100) NOT NULL,
[Pasword] VARCHAR (100) NOT NULL,
[FName] VARCHAR (MAX) NOT NULL,
[LName] VARCHAR (MAX) NOT NULL,
[Location] VARCHAR (MAX) NOT NULL,
[Profesion] VARCHAR (MAX) NOT NULL,
[email] VARCHAR (MAX) NOT NULL,
[gender] VARCHAR (MAX) NOT NULL,
[money] INT NOT NULL,
[property] VARCHAR (MAX) NULL,
[xp] INT NOT NULL,
[level] INT NOT NULL,
PRIMARY KEY CLUSTERED ([Username] ASC)
);