PHP发布到简单模态然后更新页面

时间:2012-07-08 22:54:05

标签: php jquery post simplemodal

所以我试图做的是:

  1. 用户点击无线电html表单按钮。
  2. 用户点击提交按钮以确认他的选择。
  3. 弹出SimpleModal并显示所选按钮的值。
  4. 用户点击SimpleModal中的“接受”,相应地更新父页面。
  5. 我并不担心第4步,但我不确定如何将帖子信息传输到SimpleModal。

    作为参考,我正在使用Eric Martin提供的SimpleModal Contact Form演示。

    我是Ajax和jQuery的新手。

    我看过这篇文章:Passing a Value from PHP to the SimpleModal Contact Form

    他们有类似的问题,但他们没有从索引页面检索帖子信息。

    有没有办法检索此帖子信息并将其传递给为SimpleModal窗口调用的contact.php?

    非常感谢任何帮助。

    我的索引(生成单选按钮的位置。):

    <div id='contact-form'>
    <form action="index.php" method="get">
                        <?
                        echo "<h3>Degrees (double click a degree to add a generator):</h3><br />";
    
                        for($deg = $_SESSION['degmin']; $deg <= $_SESSION['degmax']; $deg++)
                        {
                            ?>
                            <table>
                            <tr>
                            <th>
                            <?
                            echo $deg;
                            for($gen = 0; $gen < $_SESSION['degree_gens'][$deg]; $gen++)
                            {
                                echo "<input type='radio' name='test' value='deg' />";
                            }
                            ?>
                            </th>
                            </tr>
                            </table>
                            <?
                            echo "<br /><br />";
                        }
                        ?>
                        <input type='submit' name='contact' value='Demo' class='contact demo'/>
                        </form>
                        </div>
    

    我的contact.js(当用户点击“演示”时从索引调用:

    $.get("data/contact.php", { r: $("input[name='test']:checked").val()}, function(data){
                    // create a modal dialog with the data
                    $(data).modal({
                        closeHTML: "<a href='#' title='Close' class='modal-close'>x</a>",
                        position: ["15%",],
                        overlayId: 'contact-overlay',
                        containerId: 'contact-container',
                        onOpen: contact.open,
                        onShow: contact.show,
                        onClose: contact.close
                    });
                });
    

    我的contact.php(模态显示此页面,尝试输出帖子信息):

    <h1 class='contact-title'>Edit Generator(" . $_POST['test'] . "):</h1>
    

    -Chad

2 个答案:

答案 0 :(得分:0)

$('form').submit(function(e){
  e.preventDefault();
  var ourVal = $('input:radio').val();

  $.modal('<div id="ourModal"><div id="modalText"></div></div>');
  $('#modalText').text(ourVal);
});

答案 1 :(得分:0)

据我所知,你想从外部php文件加载modal,所以你应该用GETPOST参数传递变量,这里有一个如何做到这一点的例子,

cantact.js

$.get("data/contact.php", { test: $("input[name='test']:checked").val()}, function(data){
    // create a modal dialog with the data
    $(data).modal({
        closeHTML: "<a href='#' title='Close' class='modal-close'>x</a>",
        position: ["15%",],
        overlayId: 'contact-overlay',
        containerId: 'contact-container',
        onOpen: contact.open,
        onShow: contact.show,
        onClose: contact.close
    });
});

contact.php

<h1 class='contact-title'>Edit Generator(" . $_GET['test'] . "):</h1>

POSTGET是不同类型的HTTP请求方法。

jQuery

  1. 如果您使用$.get(),则可以在PHP中使用$_GET获取参数。
  2. 如果您使用$.post(),则可以使用$_POST获取参数 PHP。