2011-06-08 66 views
0

我有一個隱藏的元素:JS功能隱藏的元素值

<input id="enableStat" type="hidden" value="<!--#echo var="enableStat"-->" /> 

我使用這個變量來標誌,如果某些精密組件被啓用或禁用。

在JS:

if(somecondition==false) 
    { 
     document.getElementById('enableStat').value = 0; 
     //some other statements 
    } 
    else 
    { 
     document.getElementById('enableStat').value = 1; 
     //some other statements 
    } 

我再檢查這個variale在我的CGI:

SSPEC_RESOURCE_ROOTVAR("enableStat", sEnable, PTR16, "%s"),  
static char sEnable[2]; 
if(!strncmp(sEnable, "1", 1)) 
    //do something 

現在,我看到的是,在senable值始終爲1不管是什麼。 JS中的if-else語句正確執行。

這裏要補充的語句:

document.getElementById('enableStat').value = 0; 
document.getElementById('enableStat').value = 1; 

如果我讓我的問題更加清晰的: 我想創建一個JS變量/元素,我可以在CGI使用。我怎樣才能做到這一點。在上面的代碼,似乎有一些語法錯誤或變量名稱等

+0

什麼是「somecondition」? – AllisonC 2011-06-08 15:52:48

+0

我檢查一些其他變量值。 – Punit 2011-06-08 15:53:48

+0

'if(somecondition == false)' - 這是一種奇怪的做事方式。爲什麼不是then/else的倒序? – mkilmanas 2011-06-08 16:00:04

回答

1

如果你在C/C++編碼,那麼你應該使用strncmp比較字符串。 strncpy複製字符串並返回目的地址,這是一個地址,因此將不會是0,因此將始終評估爲真...

+0

這是一個錯字,很抱歉 – Punit 2011-06-08 15:56:18

+0

該值不會在CGI中設置 – Punit 2011-06-08 19:04:39