2012-09-12 52 views
0

我有一個帶有一個輸入字段的簡單表單。輸入字段有一個onchange事件處理程序。 如果我在字段中輸入一個值,然後直接單擊完成按鈕,以便輸入字段不失去焦點,我的onchange處理程序被調用,但我的href方法沒有。onchange處理程序可以防止調用href方法

任何想法爲什麼?我花了幾個小時試圖弄清楚這一點,迄今爲止還沒有任何運氣。

下面是示例代碼。

<html> 
    <head> 
     <script language="Javascript"> 
     function validateInput() 
     { 
     alert("validateInput()"); 
     return true; 
     } 

     function setEdited() 
     { 
     alert("setEdited()"); 
     return true; 
     } 
     </script> 
    </head> 

    <body> 
     <form name="my_form" method="post" action="next_page.html"> 
     <table width="100%" border="0" cellspacing="2" cellpadding="5"> 
      <tr> 
       <td>field 1</td> 
       <td><input type="text" name="field_1" size="20" value="abc" onchange="setEdited()"/></td> 
      </tr> 
     </table> 
     <table border="0" cellspacing="0" cellpadding="0" width="100%" > 
      <tr> 
       <td align="right" nowrap >&nbsp;<a href="javascript:validateInput()">Done</a>  </td> 
       <td align="right" nowrap >&nbsp;<a href="javascript:window.close()" >Cancel</a>&nbsp;</td> 
      </tr> 
      </table> 
     </form> 
    </body> 
</html> 

回答

0

如果我理解正確的話,你要調用這些方法,當你點擊鏈接。 href是一個需要url的屬性。 href屬性不是事件處理程序。嘗試onclick屬性。

<td align="right" nowrap="nowrap" > <a onclick="validateInput()">Done</a> </td> 
<td align="right" nowrap="nowrap" > <a onclick="window.close()" >Cancel</a> </td> 
+0

擺脫cilck處理程序的'javascript:'部分。不需要。 – jfriend00

+0

謝謝,我還修復了原始代碼中的nowrap錯誤。 –

相關問題