1

我正在使用标签来导航我的 Web 应用程序。每个选项卡上都有单独的文件,其中包含用于接收用户输入并根据输入显示数据表的表单。

我想问一下如何在相同的选项卡中显示结果表并让我的输入表单准备好再次接收差异输入。

这是我的代码

<div id="tabs">
      <ul>
            <li><a href="t1.htm">Tab 1</a></li>
            <li><a href="t2.htm">Tab 2</a></li>
            <li><a href="t3.htm">Tab 3</a></li>
      </ul>
</div>

我的 t1.htm 示例

<form action="table.htm" method="POST">
       First Name: <input type="text" name="first_name">
       <br />
       Last Name: <input type="text" name="last_name" />
       <input type="submit" value="Submit" />
</form>

whiletable.htm将根据 和 的输入创建动态firstnamelastname。但是,现在当我提交表单时,它会table.htm立即打开,但我希望它只在输入表单下方显示结果。

4

2 回答 2

0

如果我正确理解了问题(阅读两次)

您可以简单地使用 jquery 发送 ajax 请求,并且您的表单已准备好进行下一次输入。

表单包含字段

<form id="myform">
...
<button id="sub">Submit</button>
</form>

下面的 div 将包含 ajax-request 响应,在您的情况下,它主要是一个表格。

<div id="resultContainer"></div>

这是通过 ajax 将表单提交到某个 url 的脚本

<script>
$("#sub").click(function(){
        $.ajax({
            type: "POST",
            url: "myjsp.jsp",
            data: $("#myform").serialize(),
            complete: function(xhr, textStatus) {
                $("#resultContainer").html(xhr.responseText);
            }
        });
    });
</script>
于 2013-08-30T02:36:38.220 回答
0

您想按照以下方式做一些事情:

<script type="text/javascript">
    $('form:eq(0)').submit(function(e){
        e.preventDefault();
        $.ajax({
            type: "POST",
            url: "table.htm",
            data: $(this).serialize(),
            dataType: 'text/html',
            success: function(response) {
                $(this).after(response);
            }
        });
        return false;
    });
</script>

你需要给表单一个id属性。

于 2013-08-30T02:41:42.087 回答