使用jquery提交HTML表单

时间:2013-04-22 14:30:23

标签: jquery html ajax forms submit

我已将我的代码放在下面。它基本上有一个文本输入和一个“搜索”按钮(表单)。无论何时单击搜索按钮(提交表单),它都必须转到.submit函数并执行所需的处理。

HTML CODE:

<form id="twittersearch" name="twittersearch" method="post" action="">
    <input name="twitterq" type="text" id="twitterq"/>
    <button type="submit" >Search</button>
</form>
<div id="twitter-results"></div>

jquery代码:

$(document).ready(function () {
    var twitterq = '';

    function displayTweet() {
        var i = 0;
        var limit = $("#twitter-results > div").size();
        var myInterval = window.setInterval(function () {
            var element = $("#twitter-results div:last-child");
            $("#twitter-results").prepend(element);
            element.fadeIn("slow");
            i++;
            if (i == limit) {
                window.setTimeout(function () {
                    clearInterval(myInterval);
                });
            }
        }, 20000);
    }

    $("form#twittersearch").submit(function () {
        twitterq = $('#twitterq').attr('value');
        $.ajax({
            type: "POST",
            url: "search.php",
            cache: false,
            data: "twitterq=" + twitterq,
            success: function (html) {
                $("#twitter-results").html(html);
                displayTweet();
            }
        });
        return false;
    });
});

我的问题是表单无法将输入id = #twitterq的'value'发送到javascript .submit函数。因此,var twitterq的值为'undefined'。 但是,如果我手动设置输入值,如下所示:

<input name="twitterq" type="text" id="twitterq" value="something"/>

var twitterq现在获得值'某事'。可能是什么问题?

我是javascript和jquery的新手,所以我事先道歉,如果这个问题有点愚蠢,它已经困扰了我几个小时。

1 个答案:

答案 0 :(得分:4)

不要这样做:

twitterq = $('#twitterq').attr('value');

相反,请使用.val()方法:

twitterq = $('#twitterq').val();