私は小さなコメントボードを作成し、送信せずにテキスト入力を使用していますが、送信にはリターンキーを使用しています。
<input type="text" id="comment" placeholder="Comment..." class="formInputWall" />
<!-- hide submit button -->
<input type="submit" value="Submit" class="post" id="10" style="position: absolute; left: -9999px" />
次に、jquery関数があります。
$(".post").click(function(){
//attaching the click event to submit button
var element = $(this);
var Id = element.attr("id");
var comment = $("#comment").val();
var dataString = 'comment='+ encodeURIComponent(comment);
if(comment=='')
{
}
else
{
$("#loading").show();
$("#loading").fadeIn(400).html(' Adding Comment.....');
$.ajax({
type: "POST", // form method
url: "/pages/includes/list_wall_post.php",// destination
data: dataString,
cache: false,
success: function(html){
$('#wallWall').append('<div class="msgs_row"><div class="msgs_pic"><a href="/' + user_url + '"><img src="' + live_prof_pic + '"></a></div><div class="msgs_comment"><a href="/' + user_url + '" style="text-decoration:none;"><span class="msgs_name">' + name + '</span></a> ' + comment + '<br /><span class="msgs_time">Just now...</span></div></div>');
$("#loadpost").append(html); // apend the destination files
$("#loading").hide(); //hide the loading div
$("#nc").hide();
$("#comment").val(""); //empty the comment box to avoid multiple submission
$('textarea').autogrow();
}
});
}
return false;
});
これはすべてうまく機能しますが、代わりにテキストエリアを使用して、戻るボタンを使用してフォームを投稿したいと思います。
だから私はtxt入力を削除し、次のように置き換えます:
<textarea id="comment" class="formInputWall"></textarea>
そして、以下を追加します。
$(function(){
$('#comment').on('keyup', function(e){
if (e.keyCode == 13) {
// do whatever you want to do, for example submit form
$(".post").trigger('click');
}
});
});
問題は、現在2回送信されているのに、理由がわからないことです。何か案は?
と