0

我在html中有这样的表格:

<form class="well span9 offset1" action="/summary/" method="post">
    {% csrf_token %}
        <fieldset>
        <label class="control-label" for ="inputIcon">Type or paste your text into box:</label>
        </fieldset>
        <div class="controls">
            <div class="input-prepend">
                <textarea rows="15" class="span9"></textarea> 

            </div>
            </div>


        <fieldset>
        <input type="checkbox" name="input_text" />
        Send me the copy of summary by e-mail.

        </fieldset><br />
        <a href="#summaryModal" data-toggle="modal"><button type="submit" class="btn btn-primary offset3">Summarize</button></a>
    <button type="reset" class="btn btn-danger">Reset</button>
</form>

当用户提交表单时,我希望此表单在摘要函数中处理,并将结果以引导模式的模式返回给函数。但不是去功能它只是打开弹出(模式)。我从函数返回到这个相同的模板,结果。我怎样才能做到这一点?我需要阿贾克斯吗?

4

1 回答 1

0

由于您还没有提供 JavaScript 函数,因此我假设您已经准备好它们。是的,您必须使用 AJAX 才能工作。以下是您必须遵循的步骤:

  1. 您的按钮的语法必须如下所示:<button type="button" class="btn btn-primary offset3" onClick="summaryFunction()">Summarize</button>

  2. 单击按钮时,触发一个 JavaScript 函数(在这种情况下,我们称之为 summaryFunction())。

  3. 该函数必须将表单中的详细信息发布到以 JSON 格式返回数据的 PHP 页面。(这可能会有所帮助

  4. 使用 $('#divId').innerHTML 使用 PHP 页面返回的内容填充模式窗口的内容。

  5. 使用 $('#divId').modal(); 触发模态窗口

希望能帮助到你。

下面是一个示例:让按钮使用上述语法触发一个名为 summaryFunction() 的 JavaScript 函数。JavaScript 函数如下所示:

<script>
function summaryFunction(){
$text = $('#textAreaId').val();
$.post("test.php", { "postedText": text },
function(data){
$('#modalInnerDiv').innerHTML = data.response;
$('#summaryModal').modal();
}, "json");
}
</script>

确保为 textarea 元素提供 ID。将 test.php 替换为您的 PHP 文件。它必须查找名称为postedText 的发布值。将您的回复放入关键“回复”数组中。示例$reply = array("response" => $response),然后使用 json_encode() 将其序列化为 JSON。您的 PHP 文件必须回显此 JSON 值。

在 ID 为 #modalInnerDiv 的模态框内有一个空 div。它的内容将填充来自 PHP 页面的回复,并将显示在模式窗口中。

于 2013-03-29T17:07:38.753 回答