2016-06-26 3 views
0

У меня есть форма ввода текста для поддержки билетов. Если пользователь вводит идентификатор билета (проверяется с помощью инструкции PHP if), цвет фона в поле поиска изменяется на желтый (с использованием эха PHP), чтобы выделить введенный текст поиска. Эта часть работает.PHP echo javascript для изменения источника iframe

Я хотел бы также изменить значение источника в качестве фрейма как часть PHP, если условие так:

<td align="left"> 
     <input type="text" name="ticket" id="ticket" placeholder="Ticket" value="<?php echo $this->state->ticket;?>" class="input-mini search-query" onchange="document.adminForm.submit();" 
     <?php if ($this->state->ticket != "") 
      { 
      echo 'style="background-color: yellow;"'; 
      echo '<script language="javascript">'; 
      echo 'document.getElementById("ticketIframe").contentWindow.document.location.href="http://myurl.com"'; 
      echo '</script>';  
      }?>/> 
    </td> 

Javascript функция (document.getElementById ...) отображает на странице, а не выполнения. Я попробовал простое предупреждение javascript, но получил тот же результат.

Предложения?

+0

идентификатор сказать бедный браузер отказался от попыток исправить код. Закройте свой ввод '>' – David

ответ

2

Перед тем, как вставить тег скрипта, необходимо закрыть тег ввода. Вы просто генерируют недопустимый HTML, который выглядит как:

<input <script></script> /> 

Вы получаете неожиданные результаты, когда HTML неверен

+0

thats not valid html –

+0

@ Дагон - это не то, что я сказал? – charlietfl

+0

извините, я подумал, что это было то, что вы предложили изменить на –

Смежные вопросы