событие поступления значения из 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, время: 13:34. |