2013-07-17 51 views
0

我正在为ASP.NET Web应用程序中的表单中的必需字段实施JavaScript验证。使用外部脚本文件但在内部工作时JavaScript不工作

我得到控制的客户端ID来进行验证,并提取它的价值,并检查它是否为null:

function validate() 
{ 
    if(document.getElementById('<%=textbox1.clientID %>').value=="") 
    { 
     alert('mandatory'); 
     return false; 
    } 
} 

我确认按钮上的客户端点击。当上述函数放置在同一页面时,此代码工作得很好。

但是当我把它放在一个外部文件中并调用它时,代码不起作用。

它正在调用外部.js文件中的函数并抛出一个错误消息,如对象document.geteleementByid()行未找到。

+0

尝试包括JavaScript和页面结束......或保证完成后页面加载 – AurA

回答

0

尝试向您的方法中添加参数。当你调用外部方法时,像下面那样添加参数'<%= textbox1.clientID%>'。

<javascript> 
    var param = document.getElementById('<%=textbox1.clientID %>').value; 
    validate(param); 
</javascript> 
+0

其简单工作。 。谢谢.. –

0

您的JavaScript代码调用服务器端属性textbox1.ClientID。为了把你的代码在.js文件中,你需要的地方调用服务器端的属性在.aspx文件,你会得到的值发送到您的JavaScript函数:

function callValidation() { 
    return validation('<%= textbox1.ClientID %>'); 
} 

那么你的.js文件将包含实际验证方法:

function validate(elementId) 
{ 
    if(document.getElementById(elementId).value=="") 
    { 
     alert('mandatory'); 
     return false; 
    } 
} 
+0

的JavaScript运行应该是什么输入参数的外部js文件的功能,它的对象类型? –

+0

在JavaScript中,一切都是变化的。在这种情况下,我们传递一个字符串(请参阅这些字符?) – sq33G

+0

在这里,我的疑问是如何获得该值? –

相关问题