2010-10-11 115 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. 如何在提交按鈕上調用函數?