0

我想JSON使用 JSP 从页面中获取一些数据。接收参数 userId,基于JSONuserId 用户详细信息填充在 JSON 页面中。我正在使用getJSON()方法从页面获取数据。但是,我的问题是当一个按钮被点击时,表单被提交了。这个小提琴是没有getJSON()方法的,在按下提交后不提交表单,但是,在我单击按钮后提交表单。我回来false还是没用。

请告诉我如何在不提交表单的情况下从 JSON 中获取数据。如果有任何替代或更好的方法,请提出一个。

这是我的代码:

$("input[name=submit]").click(function(){
    var dataToBeSent = $("form").serialize();
    alert (dataToBeSent);
    $.getJSON(url,dataToBeSent, function(data) {
        var items = [];
        $.each(data, function(key, val) {
            items.push('<li id="' + key + '">' + val + '</li>');
        });
        $('div').html($('<ul/>', {
            'class' : 'my-new-list',
            html : items.join(' ')
        }));
    });
    return false;

问候

迪比亚

4

2 回答 2

5

你需要做 event.preventDefault()

$("input[name=submit]").click(function(e){
    ................
    ................
    ................
    ................
    e.preventDefault();
});

return false 不会停止事件,因为它与 object.onclick 不同。要停止默认行为,您必须使用 preventDefault。

于 2013-03-24T05:22:25.347 回答
0

试着把它变成一个函数返回而不是像这样的事件监听器:

<script type="text/javascript">
    function serializeForm(){
        var dataToBeSent = $("form").serialize();
        alert(dataToBeSent);
        // $.getJSON(); function here
        return false;
    }
</script>
<form action="#submit" method="post" onsubmit="return serializeForm();">
    <input type="text" name="data1" id="data1" value="1" />
    <input type="text" name="data2" id="data2" value="2" />
    <input type="text" name="data3" id="data3" value="3" />
    <input type="submit" />
</form>
于 2013-03-24T05:25:55.757 回答