簡體   English   中英

jQuery提交表單不起作用

[英]jQuery submit form doesn't work

<form accept-charset="UTF-8" action="/twitts" class="dialog   " id="twitt-form" method="post" title="Dialog" selected="true">
    <div style="margin:0;padding:0;display:inline">
        <input name="utf8" type="hidden" value="✓">
        <input name="authenticity_token" type="hidden" value="BkLNJsJfbEzfQrCTDWHW4OvvOh0l2pLPxxEJ/bGt2IY="></div>

        <input id="anonymous_id" name="anonymous[id]" type="hidden" value="22">
        <fieldset>

            <h1>Отправить сообщение</h1>
            <a class="button leftButton" type="cancel">Отмена</a>
            <a id="submit-twitt" class="button blueButton">Отправить</a>
            <!-- <input class="button blueButton" id="submit-twitt" name="commit" type="submit" value="Отправить" /> -->

            <input id="twitt-text" name="twitt[text]" size="30" type="text">

        </fieldset>
    <div class="spinner"></div>      
</form>

當我打電話

$('#twitt-form').submit();

在調試器或內部單擊事件處理程序中,什么也沒有發生。 即使將.submit處理程序設置為表單

    $('#twitt-form').submit(function() {
        $('#twitt-text').val('');
        $('#twitt-form').attr('selected', false);
        return false;
    });

處理程序可以工作,但是表單不提交任何數據。 為什么呢

還有更多:當我在表單域#twitt-text表單上按Enter時,提交得很好,.submit處理程序也可以工作。

 $('#twitt-form').submit(function() {
        $('#twitt-text').val(''); <---  this it will make form value  empty 
        $('#twitt-form').attr('selected', false);
        return false;             
    });

為什么使用return false沒有任何條件。

return false; 

是為了防止默認表單操作。 這就是為什么不提交表格的原因。

我看到此代碼存在三個問題,現在已經提出了兩個問題:

  1. 在您的Submit函數內部,第一行將清除輸入文本字段,因此即使提交,也不會提交任何內容。
  2. 第二件事是#twitt-form是表單本身,因此它沒有selected屬性。
  3. 表單提交將通過使用return false;取消return false;

現在,如果您試圖通過AJAX提交表單來阻止頁面走到任何地方,這是您可以執行的示例:

$('#twitt-form').submit(function(e) {

    $.ajax({
        url: $(this).attr('action'),
        data: $(this).serialize(),
        type: $(this).attr('method'),
        success: function(dataFromTheServer) {
            // do whatever
        }
    });

    $('#twitt-text').val('');

    e.preventDefault();
    return false;
});

但是除此之外,我不確定您要在這里做什么。

暫無
暫無

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

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