如何在弹出窗口中显示可选文本?Javascript和PHP

如何在弹出窗口中显示可选文本?Javascript和PHP,php,yourls,Php,Yourls,我正在使用URL缩短器脚本Yourls。得到你们的帮助后,工作进展顺利。谢谢你。 按下每个按钮以缩短URL,就会出现一个弹出窗口,显示该页面的短URL。这个简单的方法适合Firefox,但我无法在Internet Explorer的弹出窗口中选择文本/缩短URL。 对如何在弹出窗口中显示可选文本有何建议 这是页面的代码: <?php // Start YOURLS engine require_once( dirname(__FILE__).'/includes/load-yourls.

我正在使用URL缩短器脚本Yourls。得到你们的帮助后,工作进展顺利。谢谢你。 按下每个按钮以缩短URL,就会出现一个弹出窗口,显示该页面的短URL。这个简单的方法适合Firefox,但我无法在Internet Explorer的弹出窗口中选择文本/缩短URL。 对如何在弹出窗口中显示可选文本有何建议

这是页面的代码:

<?php 
// Start YOURLS engine
require_once( dirname(__FILE__).'/includes/load-yourls.php' );

function selfURL() { $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : ""; $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s; $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]); return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI']; } function strleft($s1, $s2) { return substr($s1, 0, strpos($s1, $s2)); }

?>
<!DOCTYPE html>
<html>
<head>

</head>

<body>

<div id="container">
    <?php
    // Part to be executed if FORM has been submitted
    if ( isset($_REQUEST['url']) ) {
        $url     = yourls_sanitize_url( $_REQUEST['url'] );
        $return  = yourls_add_new_link( $url );     
        $shorturl = isset( $return['shorturl'] ) ? $return['shorturl'] : '';

        echo <<<RESULT
        "<script type='text/javascript'>alert('$shorturl');</script>"
RESULT;

    // Part to be executed when no form has been submitted
    } else {

        $site = YOURLS_SITE;
        $var = selfURL();
        echo <<<HTML
        <form method="post" action="">      
        <p><input type="hidden" name="url" value="$var" /></p>
        <p><input type="submit" value="Shorten" /></p>
        </form> 
HTML;
    }
    ?>
</div>
</body>
</html>
我想编辑它所说的代码

"<script type='text/javascript'>alert('$shorturl');</script>"
如何选择要复制的文本

有人能告诉我为什么当我们按下按钮时,页面会重定向到另一个页面吗?是否可以在不进入下一页的情况下在同一页上显示弹出窗口?我已经粘贴了上面的完整代码。!谢谢大家!

这是当前代码::


无法更改Internet Explorer中文本的选择功能。警报是显示消息的基本方式,除消息外,没有可配置选项

如果你想要更多的控制,你必须在页面上显示消息,或者创建你自己的对话框,或者使用类似的工具

例如,在页面上:

echo '<p>' . htmlspecialchars($shorturl) . '</p>';

这是不同浏览器的不同行为。您无法使用警报执行此操作。而是使用自定义对话框窗口。您可以使用或。

我不太明白您的要求。.弹出窗口中显示的文本,我只想使其可选。@Taimoor这是依赖于浏览器的功能。无法保证它是可选择的。你必须自己制作警报功能。是的,在firefox中是可选择的,但在InternetExplorer中不是。有没有办法把这段文字显示出来?也许通过这种方式它可以选择!你能解释一下我如何使用jQuery UI对话框插件和我给出的上述代码吗?你能解释并帮助我使用jQuery UI对话框处理上述代码吗?@Taimoor请看我的编辑-添加了一个jQuery UI对话框的示例。非常感谢,是的,它可以工作!但有一个小问题,当我加载网站时,对话框也出现在第一页上。如何禁用它?看一看,您可以向jQuery部分添加一个条件-我在div周围添加了一个if语句,jQuery包含。Dreamweaver在第一行和最后一行显示了错误,并且在上载文件时也看到了错误。我想还有一个问题吗
echo '<p>' . htmlspecialchars($shorturl) . '</p>';
 echo '<input type="text" value="' . htmlspecialchars($shorturl) . '" />';
<head>
  <?php if(isset($_REQUEST['url'])): // <-- only include jQuery if url set ?>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.8.3.js"></script>
  <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
  <script>
  $(function() {
    $( "#dialog-modal" ).dialog({
      height: 140,
      modal: true
    });
  });
  </script>
  <?php endif; ?>
</head>
<?php if(isset($_REQUEST['url'])): // <-- only include the div if url set ?>
<div id="dialog-modal" title="Basic modal dialog">
  <p><?php echo htmlspecialchars($shorturl); ?></p>
</div>
<?php endif; ?>