событие поступления значения из php
У меня в файл инпут поступает значение из php
<input type="text" value="<?=$file?>" size="50"> Как мне поймать это событие и при поступлении значения в файл инпут вывести алерт? |
по факту загрузки страницы проверить значение, и если не пустое, алертить.
|
у меня конструкция выглядит следующим образом
При каждом прохождении цикла в вид отправляется новое значение $file foreach ($list as $file){ if(!in_array($file,$files)){ $data['file']=$file; $this->load->view('dirread_message',$data); } } В виде это значение присваивается инпуту <div id="body"> <input type="text" value="<?=$file?>" size="50"> </div> <div class="result"></div> <script> $(document).ready(function(){ function put_img(){ var file = $('#body').find('input').val(); $.ajax({ url: "/dir2/index", type: "POST", cache:true, data: {data:file}, beforeSend: function(){ }, success: function(data){ $(".result").html(data); } }); } put_img(); }); </script> контроллер dir2/index public function index() { $file2=$this->input->post('data'); //...действия с файлом print("файл ".$file2." переписан"); } получается каждый раз в виде должен сработать ajax запрос с новым значением $file и в div .result должно попасть новое значение файла но постоянно отображается значение первого файла, как быть |
Цитата:
php работает на сервере, а javascript в браузере они не могут быть связаны событиями через шаблон |
Я здоров, слава Господу, если видите выход из ситуации предложите
|
Цитата:
|
"При каждом прохождении цикла в вид отправляется новое значение $file" - Вид, наверное, не меняется таким способом. По вашему пониманию, страница браузера должна обновляться с каждым проходом цикла? Делайте несколько инпутов. В виде поле одно, и, я так понимаю, когда он сформирован (первое значение), то отдается клиенту в виде html, а цикл работает дальше. Однозначно ошибка в этом, хотя я не знаком особо с MVC в php. Попробуйте создать глобальную переменную i, от которой будет зависеть отдача соответствующего значения массива имен файлов.
|
Часовой пояс GMT +3, время: 18:10. |