0

この js コードを使用して、テキストエリアでキーワードを取得したいと考えています。もちろん、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

あなたが持っているのは、PHPが少し入ったHTMLのようなページです。

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

サーバー上で、php が処理され、すべてのタグが置き換えられます。

<html>
hi
</html>

特定の状況では、エコーする場所$dunnoは、埋め込まれた JavaScript の途中にあります。

これらはすべてサーバー上で行われます。クライアント (ブラウザ) は、これまでのところ何もしませんでした。

ページの準備ができたので、それを解釈するブラウザに到達します。ビットは既に解釈されているため、ブラウザーはビットを取得しません。ブラウザーは単純に JS を含む HTML を取得します。

var ehy = 5

さらに後の時点で、関数が実行されると、PHP インタープリターによってかなり前に決定された値whatにテキストを設定する ajax 要求がトリガーされます。#what

それがあなたの質問に答えることを願っています。

于 2013-10-04T16:28:22.323 に答える