0

我想通过使用此 js 代码通过 textarea 获取一些关键字。显然,我也需要 PHP 代码,但字符串 - 有问题var ehy = "php echo $dunno"。为什么这个?谁能帮我?

<?php
if (isset($_POST['line'])) {
$line = $_POST['line'];
$dunno = (explode(" ", $line));
}
?>
<script>
function countLines(){
    var stringLength = document.getElementById("myText").value.length;
    var count = Math.ceil( stringLength / document.getElementById("myText").cols ); 
    // just devide the absolute string length by the amount of horizontal place and ceil it
    return count;
    }
function what(){
    var n = countLines()
    var tarea = document.getElementById('myText')
    var lines = tarea.value.split("\n")
    //for(var x = 0; x < lines.length; x++) {
        $.ajax({
            type: "POST",
            url: "",
            data: "line="+lines,
            success: function(){
                var ehy = "<?php echo $dunno; ?>"
                $('#what').text(ehy)
                },
            });
        //} 
}
</script>

</head>

<body>
    <h1>SearchFunction()</h1>
    <textarea rows="10" cols="70" id="myText"><?php echo "what the hell?";?></textarea>
    <input type="button" onclick="what()"/>
    <p id="try"></p>
    <p id="what"></p>

</body>
</html>
4

1 回答 1

0

您所拥有的是一些类似 HTML 的页面,其中包含少量 PHP。

<html>
<?php echo 'hi' ?>
</html>

在您的服务器上,处理 php 并替换所有标签:

<html>
hi
</html>

在您的特定情况下,您回$dunno显的位置位于某些嵌入式 javascript 的中间。

所有这些都发生在服务器上。到目前为止,客户端(浏览器)什么也没做。

现在页面已经准备好了,它会到达解释它的浏览器。浏览器没有得到这些位,因为它们已经被解释过了。浏览器简单地获取带有一些 JS 的 HTML:

var ehy = 5

在更晚一点,当what函数被执行时,它会触发一个 ajax 请求,成功时将文本设置为#whatPHP 解释器很久以前确定的值。

我希望这能回答你的问题。

于 2013-10-04T16:28:22.323 回答