如何将文本字段传播到模态对话框?

时间:2011-10-21 04:54:35

标签: javascript html modal-dialog twitter-bootstrap delicious-api

我正在尝试为我的网站“添加链接”功能。为此,我正在使用Modal plugin from Twitter Boostrap JS。在主页面上只有要填充的“链接”字段,当用户点击“添加链接”按钮时,会弹出一个模式,用户会看到填写的完整表单:链接,标题,标签。但是,我希望链接字段预先填充上一步的值。它与您在delicious.com上保存链接时发生的情况类似。

然而,问题是当我在模态对话框中插入javascript时,模态对话框停止工作。任何想法如何解决这个问题?非常感谢你!

<html>
<head>
  <title>Example</title>
  <link rel="stylesheet" href="scripts/bootstrap.min.css">
  <link rel="stylesheet" href="main.css" />
</head>
<body>
  <!-- The Modal Dialog  -->
  <div id="modal-from-dom" class="modal hide fade">             
    <div class="modal-body">
        <form id='post-on-wall' method='POST' action='savePost.php' enctype='multipart/form-data'>
                Peter

                <script type="text/javascript">
                    var linkURL = $('#linkURL').val();
                    //document.write("<input type='text' class='label-inline' name='linkURL' id='wall-post' value=linkURL>");
                    document.write(linkURL);
                </script>


                <button type='submit' class='btn'>Add Link</button>
        </form>
    </div>
    </div>
  </div>
  <div class="container">
    <div class="wall-post">
        <textarea class='label-inline' name='linkURL' id='linkURL'></textarea>
        <button data-controls-modal="modal-from-dom" data-backdrop="static" class="btn">Add Link</button>

    </div>
  </div>
  <script src="scripts/jquery.min.js"></script>
  <script src="scripts/bootstrap-modal.js"></script>
</body>

1 个答案:

答案 0 :(得分:4)

有一些小事阻止你的脚本工作Arman。

首先,您需要在标头中加载jquery和bootstrap脚本。浏览器在加载时解释页面,当浏览器点击$(“#linkURL”)时,它不知道如何处理它。

第二位是您只能在用户点击“添加链接”按钮时知道用户输入LinkURL框的内容。因此,您只能在此之后填充模态框。

鉴于此,您可以利用模型库提供的Events为您填充此内容。

如果你把它们放在一起,你会得到这个:

<html>
    <head>
        <title>Example</title>
        <script src="scripts/jquery.min.js" type="text/javascript"></script>
        <script src="scripts/bootstrap-modal.js" type="text/javascript"></script>
        <link rel="stylesheet" href="scripts/bootstrap.min.css">
        <link rel="stylesheet" href="main.css">

        <script type="text/javascript">

            $(document).ready(function(){
                $('#modal-from-dom').bind('show',function(){
                    $(".modal-body").html($("#linkURL").val());
                });
            });

        </script>
    </head>
    <body>
        <div id="modal-from-dom" class="modal hide fade">
            <div class="modal-header">
                <a href="#" class="close">&times;</a>
                <h3>Add Link</h3>
            </div>
            <div class="modal-body">
            </div>
            <div class="modal-footer">
                <a href="#" class="btn primary">Add Link</a>
            </div>
        </div>
        <textarea class='label-inline' name='linkURL' id='linkURL'></textarea>
        <button data-controls-modal="modal-from-dom" data-backdrop="true" data-keyboard="true" class="btn danger">Add Link</button>
    </body>
  </html>

然后你只需稍微修改一下内容,你应该是正确的!