2015-08-19 66 views
1

我正在開發一個jQuery的移動應用程序。在應用程序中有一個用戶必須提交的表單,並且我已經將提交按鈕放在標題的右側。當用戶完成填寫表單並點擊提交按鈕的類別"ui-btn-right"時,它將無法提交。提交按鈕在標題未能提交

$(document).ready(function(){ 
    $('.ui-btn-right').on('click', function(event) { 
     $("#form1").on('submit',function(event){ 
     event.preventDefault(); 
     data = $(this).serialize(); 

     $.ajax({ 
      type: "POST", 
      url: "register.php", 
      data: data 
     }).success(function() { 
      $("input[type=text]").val(""); 
     }); 
     }); 
    }); 
}); 

HTML

<a href='#' class='ui-btn-right' id="button" >Register</a> 
+0

您的開發工具中是否收到任何錯誤消息? –

+0

很高興見到你的HTML結構。我不明白爲什麼提交事件是在點擊事件。當然用戶提交表格,所以點擊甚至不需要 –

+0

問題;點擊按鈕是否可以在_second_時間點擊它? –

回答

3

只是走一個猜測在這裏,因爲我們無法看到您的標記。但是當你點擊按鈕時,你看起來實際上並沒有提交表單,而只是連接了提交事件。嘗試這個?

$(document).ready(function(){ 
 
    $('.ui-btn-right').on('click', function(event) { 
 
     $('#form1').submit(); 
 
    }); 
 
    
 
    $("#form1").on('submit',function(event){ 
 
    event.preventDefault(); 
 
    data = $(this).serialize(); 
 

 
    $.ajax({ 
 
     type: "POST", 
 
     url: "register.php", 
 
     data: data 
 
    }).success(function() { 
 
     $("input[type=text]").val(""); 
 
    }); 
 
    }); 
 
});

+0

這會將表單提交的綁定移動到按鈕單擊之外,這會在加載時不必要地綁定事件,減慢頁面的速度,而不是確定何時會使用它。 OP把它放在正確的地方,只需要很小的改動。 – Popnoodles

+0

再次,這是假設沒有看到標記。您假設有問題的按鈕是提交表單的唯一方式。如果在按鈕外有其他方法,我的答案允許提交表單。 Markup在這裏會有所幫助... – Jeff

+0

非常贊同,我不知道爲什麼我反對當人們點擊按鈕而不是提交表單時通常呻吟的事情。 – Popnoodles

2

試試這個?

$(document).ready(function(){ 

     $("#form1").on('submit',function(event){ 
     event.preventDefault(); 
     data = $(this).serialize(); 

     $.ajax({ 
      type: "POST", 
      url: "register.php", 
      data: data 
     }).success(function() { 
      $("input[type=text]").val(""); 
     }); 
     }); 

    $('.ui-btn-right').on('click', function(event) { 
     $("#form1").submit(event); 
    }); 
}); 
+0

也就是說,將代碼放入.ui-btn-right onclick事件處理程序中可能更有意義... – evilunix

0

如果您的按鈕是不是在形式和要解僱你必須做的是這樣的提交事件:

$('.ui-btn-right').on('click', function(event) { 
    $("#form1").submit(function(event){ 
    event.preventDefault(); 
    stuff(); 
    }); 
}); 
+0

這與現在的問題代碼有何不同? –

+0

他沒有觸發提交事件。 – Neabfi

+1

....你也不會 –

0

也許我需要更多的數據來給出答案,但我們可以去這條路。

$('.ui-btn-right').on('click', function(event) { 
    check here any alert/console message is working 
} 

現在你必須創建$("#form1").on('submit

但要提交您需要手動執行

$("#form1").submit(); 

,因爲我認爲這個按鈕表單之外。

+0

歡迎來到堆棧溢出。如果你提供了一個cohert答案,格式正確,它更有可能是有用的。 – Popnoodles

+0

謝謝@Popnoodles,我編輯了我的答案。 – Parth