2012-01-02 56 views
2

我有下面的代碼,我使用v的許多頁面上類似的代碼,但這個特定頁面上它只是在任何IE或者FFA HREF的onclick不工作的一些網頁

這裏doeasn't工作的代碼:

<form action='/productView.html' method=post name=prod_form> 
<a href='javascript:;' onclick='document.forms['prod_form'].submit(); return false;' class='button101' style='margin-left:92px;'>".$button_text."</a> 
<input type=hidden name=action value='".$button_text."'> 
<input type=hidden name=PRid value=".$databack3[PRid]."> 
<INPUT type='hidden' name='cat_id' value=".$databack3[prodcatID]."> 
<INPUT type='hidden' name='for_user_id' value=".$for_user_id."> 
<input type=hidden name=source value=".$source."></form> 

但是,如果我改變了正常按鈕,如下正常工作:

<form action='/productView.html' method=post name=prod_form> 
<input type=submit name=action class=button99 value='".$button_text."' style='margin-left:85px;' 
<input type=hidden name=PRid value=".$databack3[PRid]."> 
<INPUT type='hidden' name='cat_id' value=".$databack3[prodcatID]."> 
<INPUT type='hidden' name='for_user_id' value=".$for_user_id."> 
<input type=hidden name=source value=".$source."></form> 

任何想法?

回答

4

這是你的問題;

onclick='document.forms['prod_form'].submit(); return false;' 

對你的HTML參數使用常規引號,你會沒事的。

因爲看起來你使用PHP來創建一個帶有HTML的字符串,所以你試着用這個來避免引號;

onclick=\"document.forms['prod_form'].submit(); return false;\" 
+0

優秀,謝謝 – 2012-01-02 07:41:57

8

裹在雙引號(「)的onclick屬性的內容;

onclick="document.forms['prod_form'].submit(); return false;" 

只是要清楚,它不是屬性需要雙引號,但你不能有相同的那種你的外引號引號內的,除非你逃脫他們

例如:

  • OK:<a href="#" onclick="do('this');">bar</a>
  • OK:<a href="#" onclick='do("this");'>bar</a>
  • OK:<a href="#" onclick="do(\"this\");">bar</a>
  • OK:<a href="#" onclick='do(\'this\');'>bar</a>
  • OK:<a href="#" onclick='do('this');'>bar</a>
  • OK:<a href="#" onclick="do("this");">bar</a>
3

它無法檢測form name因爲那也是在single quotes

<a href='#' onclick='document.forms["prod_form"].submit(); return false;' 
      class='button101' style='margin-left:92px;'>".$button_text."</a> 

小提琴:http://jsfiddle.net/QFe3L/

0
<b><form action='/productView.html' method=post name=prod_form> <a 
    href='javascript:;' onclick="document.forms['prod_form'].submit(); 
    return false;" class='button101' 
    style='margin-left:92px;'>".$button_text."</a> <input type=hidden 
    name=action value='".$button_text."'> <input type=hidden name=PRid 
    value=".$databack3[PRid]."> <INPUT type='hidden' name='cat_id' 
    value=".$databack3[prodcatID]."> <INPUT type='hidden' 
    name='for_user_id' value=".$for_user_id."> <input type=hidden 
    name=source value=".$source."></form> 

    Hope it works 

</b> 
1

這僅僅是使用單引號的原因。 只要改變你的

onclick='document.forms['prod_form'].submit(); return false;' 

onclick="document.forms['prod_form'].submit(); return false;"