2014-04-26 68 views
0

我有下面的代碼應該一個按鈕被點擊時可以誘發內容:功能改變DIV的使用jQuery和Javascript不工作

<input type="submit" name="cancel" value="cancel" onclick="clear_form(); return false;" class="pure-button"> 

的實際功能將刪除textarea的文字和從表單的兩個按鈕:

function clear_form() { 
     $("#statement").val(''); 
     document.submitform.submit.value = "save"; 
     document.submitform.delete.remove(); 
     document.submitform.cancel.remove(); 
} 

然而,被點擊時的按鈕(在Chrome),出現以下消息和clear_form功能不起作用。

Uncaught ReferenceError: clear_form is not defined 

有人知道這是爲什麼嗎?我錯了什麼?

+0

是否有JS任何進一步的輸出控制檯如果Chrome? – cepharum

+1

我只是不明白爲什麼人們在使用jquery時也使用內聯事件 –

+0

@BatuZet:它們非常容易綁定,並且在可用元素和處理程序之間沒有延遲。內聯處理程序周圍有很多歇斯底里的事情,但最終它們只是一種有效的替代方法。 –

回答

1

編輯

DEMO

的Javascript

function clear_form(){ 

    $("#statement").val(''); 
    document.submitform.submit.value = "save"; 
    document.submitform.delete.remove(); 
    document.submitform.cancel.remove(); 

    } 

document.getElementById('submit').addEventListener('click',function(){ 

    alert() 

    clear_form(); 

},false); 

HTML

<input type="submit" name="cancel" value="cancel" class="pure-button" id='submit'> 

正如@cookiemonster所述,函數名後面的空格沒有區別。

link

+0

不起作用... –

+0

@deemeetree,請參閱編輯。 –

+0

解釋downvote? –

2

你什麼時候聲明function clear_form() ......它是在另一個函數裏面聲明的嗎?在那種情況下,clear_form()僅在包含函數的範圍內可在本地使用。在HTML屬性中附加點擊處理程序需要提及的功能要在全局範圍內聲明。

如果您不能使clear_form()爲全局,您仍然可以使用addEventListener()從Javascript添加您的本地函數,而不是使用HTML中的屬性onclick。順便說一句,這是在分離內容和邏輯的網站中進行此操作的首選方式。

0

我不知道你是如何使用代碼在你的全面應用。 但我做了這個完整的工作示例頁面

嘗試,讓我們知道,如果它與你的作品..

請這頭標記:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <script type="text/javascript"> 
     function clear_form() { 
      // $("#statement").val(''); or load the JQuery Library and us this line 
      document.submitform.statement.value = ""; // Used this instead of JQuery 
      document.submitform.submit.value = "save"; 
      document.submitform.delete.remove(); 
      document.submitform.cancel.remove(); 
     } 
    </script> 

</head> 
<body> 
    <form name="submitform" id="submitform"> 
     <textarea id="statement" cols="30" rows="3"></textarea> <br /> 
     <input type="button" name="delete" value="delete" /><br /> 
     <input type="button" name="submit" value="Submit" /><br /> 
     <input type="submit" name="cancel" value="cancel" onclick="clear_form(); return false;" class="pure-button"> 
    </form> 
</body> 
</html>