在SCRIPT TAG中执行PHP

时间:2014-12-17 02:14:20

标签: javascript php

我有一个列表框,以下列格式显示几个实习

id - name:     1 - 计算机科学

到目前为止,我已经创建了addRow函数,以便从表单中更新我的字段。 如果我做

  

警报($ montext)

我可以显示" 1 - 计算机科学",但我只关注价值" 1"。 我试过了:

alert(<?php substr($montext,0,2)?>);

但似乎php内部&#34;脚本&#34;没有被执行。

因为以下代码更改了字段中的值:

document.getElementById('ti').value=$montext;

因为我也想在脚本TAG中执行php代码。

我在Apache下运行。

如果你能帮助我的话。感谢

在此查找使用过的代码。

   <html>
    <head>
    <script>
    function addRow(title,text,description,id) {
        $montext=$( "#idStage option:selected" ).text();
        alert($montext);
        document.getElementById('ti').value=$montext;
            /*document.getElementById('te').value=text;
            document.getElementById('de').value=description;
            document.getElementById('id').value=id;*/
    }

        function setText(title,text,description,id){

            document.getElementById('title').value=title;
            document.getElementById('text').value=text;
            document.getElementById('description').value=description;
            document.getElementById('id').value=id;
        }
   </script>
   </head>
   <body>
   <?php
        include('../admin/connect_db.php');
    ?>
    <table cellpadding="0" cellspacing="0">
      <tr>
          <td>
          <label class="notBold">Choose the internship you want to update: </label>
                <select name="idStage" id="idStage" onChange="addRow()">
                <?php
                    $stmt = $db->stmt_init();
                    if($stmt->prepare('SELECT id, title,text,description FROM offre ORDER by published_date ASC')) {
                        $stmt->bind_result($id,$title,$text,$description);
                        $stmt->execute();
                        while($stmt->fetch()){
                ?>
                            <option id="nostage" value="<?php echo$id;?>" onclick="setText('<?php echo $title ?>',' <?php echo $text ?> ',' <?php echo $description ?>',' <?php echo $id?>');"><?php echo $id." - ".$title;?></option>
                <?php       
                        }
                        $stmt->close();
                    }
                ?>
                </select>&nbsp;

        </td>
        <td width="20">
            <img src="./Image/exit.png" title="Close" id="closeDelete" class="closeOpt" onclick="closeOpt()" />
        </td>
    </tr>
</table>

        <form method="post" action="modifystage.php">
        <table>
        <tr>
            <td>
            <input type = "hidden" id ="id" name="id"/>
            </td>
        </tr>
        <tr>
            <td class="label">
                <label>Title&nbsp;&nbsp;</label>
                <textarea id = "ti" name="ti" rows = "3" cols = "75">
                <?php 
                $stmt = $db->stmt_init();
                    if($stmt->prepare('SELECT id, title,text,description FROM offre ORDER by published_date ASC')) {
                        $stmt->bind_result($id,$title,$text,$description);
                        $stmt->execute();
                        }
                    echo $title;
                ?>
                </textarea>
            </td>
        </tr>
        <tr> 
            <td class="label">
                <label>Desc</label>

                <textarea id = "de" name="de" rows = "3" cols = "75">
                <?php 
                $stmt = $db->stmt_init();
                    if($stmt->prepare('SELECT id, title,text,description FROM offre ORDER by published_date ASC')) {
                        $stmt->bind_result($id,$title,$text,$description);
                        $stmt->execute();
                        }
                    echo $description;
                ?>
                </textarea>
            </td>
        </tr>    
        <tr>
            <td class="label">
                <label>Text&nbsp;&nbsp;</label>
                <textarea id = "te" name="te" rows = "3" cols = "75">
                <?php 
                $stmt = $db->stmt_init();
                    if($stmt->prepare('SELECT id, title,text,description FROM offre ORDER by published_date ASC')) {
                        $stmt->bind_result($id,$title,$text,$description);
                        $stmt->execute();
                        }
                    echo $text;
                ?>
                </textarea>
            </td>
        </tr>
        <tr>
            <td colspan="2" align="right"colspan="2" class="label">
                <button type="submit">Submit</button>
            </td>
        </tr>
        </table>
        </form>
</body>
</html>

2 个答案:

答案 0 :(得分:2)

您不需要在这里使用PHP。使用javascript substring函数 - http://www.w3schools.com/jsref/jsref_substring.asp

例如

alert(montext.substring(0, 2));

答案 1 :(得分:2)

将您的<script>写在PHP下面,试试这个:

<script>
    function addRow(title,text,description,id) {
        var montext = $( "#idStage" ).text();
        alert(montext);
        document.getElementById('ti').value(montext);
            /*document.getElementById('te').value=text;
            document.getElementById('de').value=description;
            document.getElementById('id').value=id;*/
    }

    function setText(title,text,description,id){

        document.getElementById('title').value=title;
        document.getElementById('text').value=text;
        document.getElementById('description').value=description;
        document.getElementById('id').value=id;
    }
</script>

如果您想从PHP调用变量,请不要忘记使用echo,如下所示:

alert("<?php echo substr($montext,0,2); ?>");