2014-12-17 3 views
0

У меня есть ListBox, который отображает несколько интернатуры при следующем форматеВыполнить PHP внутри SCRIPT TAG

идентификатора - имя: 1 - Computer Science

До сих пор у меня есть создать функцию addRow для того, чтобы обновить поля из формы. Если я

сигнал ($ montext)

я могу отобразить "1 - Computer Science", но я ищу только для значения "1". Я пробовал:

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

Но кажется, что PHP внутри «скрипт» не выполняется.

Поскольку следующий код изменяет значение в поле:

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

Потому что я хотел бы также, чтобы выполнить код 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> 
+1

Отсутствует 'ec ho'. –

+0

you woul ned to ue 'echo' –

ответ

2

Здесь не нужно использовать PHP. Используйте яваскрипта substring функцию - http://www.w3schools.com/jsref/jsref_substring.asp

Например

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

Обратите внимание, что javascript работает на стороне клиента, а PHP работает на стороне сервера. Когда вы используете PHP для вызова переменной внутри javascript-кода, она устанавливается в тот момент, когда пользователь запрашивает веб-страницу, а не когда пользователь выбирает элемент из раскрывающегося списка. –

+0

Это работает. Я пробовал код из ghostzali, но, к сожалению, когда я выбираю свое меню, он не открывает мое окно. Но этот метод работает отлично. лук – mike27015

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); ?>"); 
Смежные вопросы