簡體   English   中英

表格不會提交

[英]form won't submit

我的表單提交有問題,這是交易。 我正在創建一個圖片網站,我想為每張圖片創建評論,所以我有一個錨點鏈接,當單擊該鏈接時會顯示評論表單,即將html加載到最初不在其中的網頁中,因此頁面內加載的表單未提交。

動態加載到網頁中的表單是否可能無法提交? 還有什么其他問題呢? 我什至嘗試在已加載的內容中放入<a href="#" id="test">Click me</a>之類的內容,然后添加了

$("#test").click(function(){
alert("SOMETHING");
});

到我的JavaScript,它也不會警報..我在做什么錯?

編輯

好的,這是我如何加載表格..

我在圖片下方有一個錨鏈接:

<a href="javascript:;" onclick="showComments('22');" class="answer_comment">Add image content</a>

這是外部文件准備功能的javascript:

function showComments(post){
         var xHTML = "<div class=\"addComment\">";
         xHTML += "<form action=\"<?=base_url()?>images/post_comment/" + post + "\" method=\"post\" id=\"comment_form\" name=\"comment_form\">";
         xHTML += "<input type=\"hidden\" id=\"comment_post_id\" name=\"comment_post_id\" value=\"" +post + "\"/>"; 
         xHTML += "<textarea name=\"comment_text\" class=\"comment\" rows=\"8\" cols=\"40\"></textarea>";
     .....

像這樣我填寫我的評論表格..需要更多代碼嗎?

在您的情況下,還必須裝配動態加載的元素以發出警報,您需要:

$("#test").live('click', function() {
  alert("SOMETHING");
});

這將觸發任何id="test"元素,無論是否已加載ajax。 您想要使用的任何處理程序都應使用相同的樣式。 閱讀.live()文檔以獲取全文...基本上,它位於根DOM級別上,以偵聽單擊並對其進行操作,因此在定義事件處理程序時,它並不關心存在或不存在的內容,這就是您要動態加載的內容。

您不需要在函數()之后加上{嗎?

第三行中的}' before the ;` }' before the嗎?

$("#test").click(function() {
alert("SOMETHING"); 
}); 

使用AJAX提取表單通常不是問題。

想到為什么表單無法提交的唯一原因:

  • 這是無效的HTML-應該可以使用Firebug找出來

  • 提交時,您正在通過其ID(例如$('#comment_form').submit(); )來解決該問題,該操作失敗是因為該ID已經存在一些元素。 要確定是否是這種情況,請嘗試在表單內部注入普通的<input type=submit> ,然后查看是否可行。

  • 您將其注入到另一個<form>元素中-易於使用Firebug找出

最后,您要在代碼中添加額外的{

$("#test").click(function()
alert("SOMETHING");
{);

請更正該問題,如果仍然無效,請嘗試使用適用於當前和將來元素的live方法進行此操作。

$("#test").live('click', function(){
  alert("something");
});

另外,請確保如果有多種形式,它們不會重疊。

動態添加的表單的行為應與原始html中的行為相同。 確保在添加元素之后添加事件處理程序,或使用live方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM