2010-10-11 74 views
1

我试图通过onclick事件的提交按钮,但不能够, 我的代码的详细信息是“我有一个名为过滤器的按钮和两个文本框,它采取Id和名称, 我想要的全部是”当我进入编号文本框中的值,然后单击筛选,然后我想在使用查询字符串” URL要显示的值。 这里的代码..如何在Perl中通过onclick事件提交按钮调用Javascript函数?

print "<td><b>UserId</b></td><td><input type=\"text\" name=\"User_Id\" 
     value=\"" .$Id."\" size=\"6\" ></td>"; 
    print "<td><b>UserName</b></td><td><input type=\"text\" name=\"User_Name\" 
     value=\"" .$Name ."\" size=\"10\"></td>"; 
    print "<td><input type=\"submit\" name=\"Filter\" value=\"Filter\" 
       onClick=\"FilterExpression($Id,$Name)\"></td>"; 

后我点击过滤器的代码被执行..

  if ($q->param("Filter")) 
       { 
       $Id=$q->param('User_Id'); 
       $Name=$q->param('User_Name'); 
      if ($Id ne "") 
       { 
      $filterexpression= $filterexpression." UserId like '" .$Id. "%' and " ; 
       } 
      if ($Name ne "") 
       { 
      $filterexpression= $filterexpression." UserName like '" .$Name. "%' and " ; 
       } 
      } 

Javascript ..

<script type="text/javascript"> 
function FilterExpression(Id,Name) 
     { 
      var val3=Id; 
      var val4=Name 
      window.location="List.cgi?Id="+val3+"&Name="+val4 
      } 
    </script> 

请帮我找出解决办法,谢谢。

+1

您应该包含更多细节,比如'$ Id'和'$ Name'的值,以及代码生成的实际HTML。另外,当你点击按钮时会发生什么? – cjm 2010-10-11 06:01:44

+0

你可以检查它,'$ Id'和'$ Name'是否用'onClick = \“FilterExpression($ Id,$ Name)\”'替换它们的值? – 2010-10-11 06:06:48

+2

请包括功能调用者的HTML输出。换句话说,在您的浏览器中,查看源代码并复制由'print'生成的html​​”;'。 – gilly3 2010-10-11 06:50:54

回答

3
  1. 如果使用<形式>你可以使用method =“得到”是很容易的方式。
  2. 如果你不想使用<形式>请加 “ID” 为

< INPUT TYPE = \ “文本\” ID = 'USER_ID' NAME = \ “USER_ID \” 值= \ “” $ id。“\”size = \“6 \”>

并且写这样的Javascript。

 
function FilterExpression() 
{ 
var val3=document.getElementById("User_Id").value; 
var val4=document.getElementById("User_Name").value; 
window.location="List.cgi?Id="+val3+"&Name="+val4 
} 
+0

非常感谢我使用第二种方法(不使用表单)的回复,我编辑了代码“NOW AM GETTING THE VALUES IN ALERT BOX,但是无法将这些值发送到URL,即window.location =”UsersList .cgi?id =“+ val3 +”&Name =“+ val4语句无法正常工作,请问这是否有其他方法?请回复 – SUSH 2010-10-11 10:55:12

+0

您可以测试简单的网址,例如(http://google.com或List.cgi )? – cloverink 2010-10-11 11:19:15

+0

也许,你应该使用location.href =“http://www.cloverink.com”; – cloverink 2010-10-11 11:26:06

3

看起来你可能需要报价。尝试onClick=\"FilterExpression('$Id','$Name')\"

+3

根据“$ Id”和“$ Name”可以采用哪些值,您可能需要更多的引用来避免XSS安全性(想想如果'$ Name'以'>开头,会发生什么'>

  • 11. 使用javascript提交按钮事件
  • 12. 如何使用aspx参数调用html按钮onclick javascript函数?
  • 13. 如何在onclick事件中调用多个JavaScript函数?
  • 14. 的Javascript“的onclick”事件不加载上提交按钮
  • 15. 如何通过提交按钮在javascript中的广播选项
  • 16. 通过JavaScript调用onClick函数
  • 17. Flask - 在按钮OnClick事件上调用python函数
  • 18. 如何通过数据链接按钮onclick事件
  • 19. onclick停用提交按钮
  • 20. 调用函数提交按钮
  • 21. 如何将onclick事件添加到limesurvey提交按钮
  • 22. 如何提取通过onclick函数事件传入的值?
  • 23. 的onclick提交按钮没有返回JavaScript函数警予
  • 24. 表单不通过JavaScript提交按钮
  • 25. 在C中的按钮OnClick事件之间调用javascript
  • 26. 在按钮事件调用之前调用Javascript函数
  • 27. 如果启用Javascript,请使用onclick事件替换提交按钮
  • 28. 用图像按钮的onClick事件调用jQuery函数
  • 29. 提交按钮的onclick事件中的SetTimout()函数无法正常工作
  • 30. 如何在提交按钮上调用函数?