2014-12-04 4 views
1

Я пытаюсь передать параметр функции javascript, которая была определена вне tag.but, когда я пытаюсь использовать ее в javascript-функции, она показывает undefined.i использую alert для печати значения как на странице jsp, так и в Javascipt функция ... пожалуйста, помогитеКак передать параметры функции javascript, которые определены вне тега формы?

<html> 
<script type="text/javascript"> 
js_valueDate = '<%=valueDate%>'; 
alert(js_valueDate)  **//displays correct value here** 

</script> 
    <body> 
    <form> 
....some html... 
    <td width=27%><input type=text name="ValDate" 
onchange = "javascript:validateDate(document.f1.ValDate,js_valueDate);"></td> 
......some html....                        
    </form> 
    </body> 
    </html> 

и это мой Javascript функция:

function validateDate(ValDate,origValDate) { 
    var valueDate=ValDate.value; 
    var OrigvalueDate=origValDate.value; 
    confirm(valueDate); 
    confirm(OrigvalueDate); **//displays undefined here** 
    var hh=replaceAll(valueDate,'-',''); 
    confirm(hh); 

    if (replaceAll(valueDate,"-","")<=valueDate<=replaceAll(OrigvalueDate,"-","")) { 
    return true; 
    } else { 
    alertPopup("Please enter a valid value date"); 
    document.f1.ValDate.focus(); 
    return false; 
    } 

} 
+0

просто поместить тег сценария, который содержит функцию яваскрипта в верхней части страницы, прежде чем ваш тег формы и проверить .. – tarzanbappa

ответ

1

Поскольку вы передаете само значение нет необходимости заявления
var OrigvalueDate=origValDate.value;
Вот небольшой пример h я написал, что объясняет как ситуацию

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
    <head> 
    <title>Check </title> 
    <script> 
    function display(v) 
    { 
    var d=v.value; 
    alert(v); 
    alert(d); 
    } 
    jval="qwerty"; 
    </script> 
    </head> 
    <body> 
    <input type="button" value="check" onclick="javascript:display(jval)"/> 
    </body> 
</html> 
+0

вы абсолютно правы .... спасибо за ответ – rydz

0

Попробуйте что-нибудь подобное. Это поможет вам

<html> 
    <script type="text/javascript"> 
    js_valueDate = '<%=valueDate%>'; 
    alert(js_valueDate)  **//displays correct value here** 

var ValidationHandler = { 

validateDate:function(ValDate,origValDate){ 
    var valueDate=ValDate.value; 
    var OrigvalueDate=origValDate.value; 
    confirm(valueDate); 
    confirm(OrigvalueDate); **//displays undefined here** 
    var hh=replaceAll(valueDate,'-',''); 
    confirm(hh); 



    if (replaceAll(valueDate,"-","")<=valueDate<=replaceAll(OrigvalueDate,"-","")) 
    { 
    return true; 
    } 
    else 
    { 
    alertPopup("Please enter a valid value date"); 
    document.f1.ValDate.focus(); 
    return false; 
    } 

} 
}; 

</script> 
    <body> 
    <form> 
....some html... 
    <td width=27%><input type=text name="ValDate" 
onchange = "javascript:ValidationHandler.validateDate(document.f1.ValDate,js_valueDate);"></td> 
......some html....                        
    </form> 
    </body> 
    </html> 
Смежные вопросы