Jqform и загрузка файлов

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Grigory
Сообщения: 47
Зарегистрирован: 2011.09.30, 04:30

Jqform и загрузка файлов

Сообщение Grigory »

Пробую загрузить файл на сервер с помощью расширения jqform.

Привожу код:

Код: Выделить всё

<form id="myForm" enctype="multipart/form-data" action="/index.php?r=site/myAction" method="post">
    <label for="field1">Текст:</field>
    <input name="field1" type="text" value="123"/>
    
    <!--<label for="file1">Файл:</label>
    <input type="file" name="file1"/>-->
    
    <input type="submit" name="submit_button"/>
    
</form>

<?php
    $this->widget('application.extensions.jqform.JqForm', array(
        'formId'=>'myForm',
        'options'=>array(
            'beforeSubmit'=>'pre',
            'success'=>'after'
        )
    ));
?>

<script>
    function pre(){
        alert("Before!");
    }
    
    function after(){
        alert("After!");
    }
</script>
Форма работает нормально, но если раскомментировать поле "file1", то не вызывается функция, указанная в "success". При этом файл загружается на сервер нормально.
Есть идеи?
Последний раз редактировалось Grigory 2012.09.07, 10:49, всего редактировалось 1 раз.

Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Jqform и загрузка файлов

Сообщение futbolim »

у Вас две html сущности c одинаковым name.
И вообще зачем для label name ?

Код: Выделить всё

<label for="file1">Файл:</label> 

Grigory
Сообщения: 47
Зарегистрирован: 2011.09.30, 04:30

Re: Jqform и загрузка файлов

Сообщение Grigory »

В указанной Вами строке изменил "name" на "for". Но это не дало эффекта.

Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Jqform и загрузка файлов

Сообщение futbolim »

1. полностью очистите кеш браузера (ctrl+shift+del)
2. если не поможет, скрипт в студию )

Grigory
Сообщения: 47
Зарегистрирован: 2011.09.30, 04:30

Re: Jqform и загрузка файлов

Сообщение Grigory »

Очищение кэша не помогло.

Привожу текст страницы:

Код: Выделить всё

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
    <HEAD>
        <link rel="stylesheet" type="text/css" href="/css/main.css" />
    <script type="text/javascript" src="/assets/c549acb4/jquery.js"></script>
<script type="text/javascript" src="/assets/7ea353ba/jquery.form.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
$(document).ready(function() {
   var options = {dataType: 'html',beforeSubmit: pre,success: after};
   $("#myForm").ajaxForm( options );
});
/*]]>*/
</script>
</HEAD>
    <BODY>
        <form id="myForm" enctype="multipart/form-data" action="/index.php?r=site/myAction" method="post">
    <label for="field1">Текст:</field>
    <input name="field1" type="text" value="123"/>
    
    <label for="file1">Файл:</label>
    <input type="file" name="file1"/>
    
    <input type="submit" name="submit_button"/>
    
</form>


<script>
    function pre(){
        alert("Перед!");
    }
    
    function after(){
        alert("После!");
    }
</script>    </BODY>    
</HTML>

Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Jqform и загрузка файлов

Сообщение futbolim »

по идее всё нормально, ошибка возможно в другом.

Grigory
Сообщения: 47
Зарегистрирован: 2011.09.30, 04:30

Re: Jqform и загрузка файлов

Сообщение Grigory »

Заменил скрипт jquery.form.js новой версией и всё заработало. Правда, жду ошибок, т.к для расширения jqform эта библиотека новая. Думаю, лучше использовать jquery.form.js напрямую через JavaScript.

Ответить