javascript
  • jsp
  • 2016-05-17 3 views 1 likes 
    1

    Вот мой Javascript функцияне в состоянии сравнить переменную 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") 
    

    значения в некоторых случаях я хочу, чтобы установить значение поле, когда она не нулевая или пустая строка.

    вот что я сделал до сих пор я напечатал calMaxAmtStatus он дал мне строку как результат , но когда я попытался сравнить его с не нулевой, как здесь calMaxAmtStatus !=null это, кажется, не работает.

    я получаю пустой печататься в этой области каждый

    мой вопрос я не хочу, чтобы напечатать что-нибудь, если calMaxAmtStatus переменная не имеет никакого значения.

    +0

    Я думаю, это потому, что вы должны написать NULL вместо нуля –

    +0

    @ShrikanthBuds, 'calMaxAmtStatus' всегда имеет строковое значение, а не примитивное значение null. Из-за одинарных кавычек. –

    ответ

    1

    Этот код не будет исполнять: typeof(calMaxAmtStatus) != 'undefined' && calMaxAmtStatus != null. Потому что в любом случае у вас будет строковое значение.

    В этом коде var calMaxAmtStatus='<%=request.getAttribute("calMaxAmountStatus") %>'calMaxAmtStatus переменная всегда имеет строковое значение. Даже если request.getAttribute("calMaxAmountStatus") вернет null в java, в JavaScript он преобразуется в значение "null". Цитированное слово «null».

    Попробуйте это:

    function onload(){ 
    
        var calMaxAmtStatus='<%=request.getAttribute("calMaxAmountStatus") %>'; 
    
        alert(calMaxAmtStatus); 
    
        if (calMaxAmtStatus && calMaxAmtStatus != 'null') { 
    
         document.forms[0].status.value=calMaxAmtStatus; 
        } 
    } 
    

    Позволяет анализировать:

    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 
        */ 
    } 
    
    0

    Проблема здесь я думаю, что это цитаты в вашей декларации

    '<% = request.getAttribute (» calMaxAmountStatus ")%> '

    Это приведет к присвоению нулевой переменной как «null», что означает, что ваша переменная никогда не была бы неопределенной, добавьте в ваш if, чтобы проверить строковое значение «null».

    если (TypeOf (calMaxAmtStatus) = 'не определено' & & calMaxAmtStatus = нуль & & calMaxAmtStatus = 'нулевой'!!)

    0

    Пусть тест будет на стороне сервера:

    function onload(){ 
        var calMaxAmtStatus= <%= request.getAttribute("calMaxAmountStatus")? "'"+request.getAttribute("calMaxAmountStatus").toString()+"'" : "null" %>; 
        alert(calMaxAmtStatus);   
        if (calMaxAmtStatus){ 
        document.forms[0].status.value=calMaxAmtStatus; 
    } 
    
    Смежные вопросы