使用jquery序列化时从用户输入解析名称

时间:2014-11-24 15:01:16

标签: javascript jquery

我正在尝试使用jquery serialize从动态表单中获取用户输入。我的表单看起来像这样

        <form id="lookUpForm">
            <input name="q" id="websterInput"  />
            <button onclick="webster(); return false;">Search</button>
        </form>

我想接受输入,并将其附加到websters字典URL的末尾以搜索单词。 http://www.merriam-webster.com/dictionary/ +(用户输入)

当您运行提醒以查看&#39; q&#39;的价值时是的,你得到了

Q =输入

所以,例如,如果我放了猫#&#39;

警报会说q =猫。

我希望字符串只是用户输入的内容。但是,您需要为输入命名以使用seralize。那么我该如何接受用户输入,并删除&#39; q =&#39;部分。

修改

这里要求的是我正在打电话的功能。注意。我必须使用serialize();这不是一个选择。

function webster() {
    var stringHolder = $("#lookUpForm").serialize();
    alert(stringHolder);
    $.ajax({
        type: 'GET',
        crossDomain: 'true',
        url: "http://www.merriam-webster.com/" + stringHolder,
        success: function (data) {
            console.log(data);
            console.log("http://www.merriam-webster.com/" + stringHolder);
        },
        error: function () {
            alert("Failed to get dictionary data");
            console.log("http://www.merriam-webster.com/dictionary/" + stringHolder);
        }

    });


};

2 个答案:

答案 0 :(得分:1)

您可以使用jQuery的val方法访问它

function webster() {
    var stringHolder = $("#lookUpForm").serialize();
    alert(stringHolder);
    $.ajax({
        // (...) removed some code for brevity
        error: function () {
            alert("Failed to get dictionary data");
            console.log("http://www.merriam-webster.com/dictionary/" + 
            $('#websterInput').val()); // I suppose you want the user-input here
        }
    });
};

答案 1 :(得分:0)

您可以使用serializeArray()

然后做这样的事情并把你的字符串放在一起就像你想要的那样

var array = $("#lookUpForm").serializeArray();

$(array ).each(function(){
   alert(this.value); 
});