2015-08-25 55 views
0

jQuery:提交();不工作

$(function() { 
    $(".sendcomment").keydown(function(a) { 
    if (a.keyCode == 13) { 
     var that = $(this).attr("id"); 
     var t = that.substr(9); 
     var e = "#"+t; 
     $(e).submit(); 
     return false; 
    } 

     }); 
}); 

Form:

<form class="commentform" id="849" accept-charset="UTF-8"> 
<input type="hidden" name="comment_publication_id" id="comment_publication_id" value="849" autocomplete="off"> 
<textarea name="comment" id="commentto849" class="sendcomment" placeholder="Escreva seu comentário" title="Escreva um comentário para esta publicação" required=""></textarea> 
</form> 

的從取在MySQL具有不同ID的多次具有相同形式的多個數據。

我測試了其他頁面中的代碼沒有MySQL數據(只有1個表格),並猜測什麼?工作。

+1

工作?所以有什麼問題? – user5173426

+1

我不認爲你可以在表單ID中使用數字。就我所知,ID不能以數字開頭。 https://css-tricks.com/ids-cannot-start-with-a-number/ –

+0

alert(t);看看你通過了什麼子串 – FirebladeDan

回答

-1

嘗試:

$(e)[0].submit(); 

insted的

$(e).submit(); 
+0

未捕獲TypeError:$(...)[0] .submit不是函數 –

0

如何使用一些更乾淨的找到你想要的不是 「commentto849」 提交表單的id?

一個data-submit="849"屬性添加到您的文字區域,並把它與$(this).data("submit")

我覺得你的代碼來提取表單的id是容易出錯。

最終的結果會是這樣:

$(function() { 
    $(".sendcomment").keydown(function(a) { 
    if (a.keyCode == 13) { 
     var e = "#" + $(this).data("submit"); 
     $(e).submit(); 
     return false; 
    } 
    }); 
}); 
<form class="commentform" id="form849" accept-charset="UTF-8"> 
    <input type="hidden" name="comment_publication_id" id="comment_publication_id" value="849" autocomplete="off"> 
    <textarea name="comment" id="commentto849" data-submit="form849" class="sendcomment" placeholder="Escreva seu comentário" title="Escreva um comentário para esta publicação" required=""></textarea> 
</form> 
+0

什麼也沒有發生,這工作> @MarleneOliveira嘗試在849 id的開頭放置一個字母字符的形式,如id =「f849」,更新您的JavaScript看看,然後看看它是否適合你。 - 觀察者4分鐘前 –

+0

哦,是的,正如@Zealander指出的那樣。在官方(HTML4)規範中,ID屬性必須以字母開頭,然後可以有數字。在HTML5中,你可以有一個編號爲ID – dwarfy

+0

@MarleneOliveira。你使用的是什麼版本的HTML?如果它是HTML4,你必須在開始時寫一封信,否則不會..我會將其添加爲清晰 – dwarfy

0

解決方案:

I don't think you can use numbers in form ID. ID cannot start with a number, as far as I know. css-tricks.com/ids-cannot-start-with-a-number – Zealander 17 mins ago

的感謝!

+0

對於HTML 4,答案在技術上是: ID和名稱標記必須以字母([A-Za-z])開頭,後面可以跟隨任意數量的字母,數字([0-9]),連字符(「 - 」),下劃線(「_」),冒號(「:」)和句點(「。」)。 HTML 5甚至更寬容,只是說一個ID必須至少包含一個字符並且可能不包含任何空格字符。 – dwarfy