2015-09-24 2 views
0

Моя цель: У меня есть действие /edit в моем проекте Yii, содержащем какую-либо форму с полями, скажем: text, image. В эти формы введены некоторые значения (скажем, «мой текст» и «мое изображение»).Передача значений формы в другую функцию без отправки

У меня есть кнопка Сохранить (мы не используем ее) и кнопку, которая направляет меня к действию /preview, и мне нужно передать туда массив, такой как ['text' => 'my text', 'image' => 'my image'] или то же, что и объект.

Могу ли я сделать это, не отправив форму? Я думал о javascript, но есть ли способ избежать его использования?

+0

Вы можете сделать это с помощью запроса AJAX и вызвать скрипт вставки периодически, когда определенное действие было выполнить – Bender

+0

нет никакого способа, вы можете получить данные о форме без отправки, если вы не хотите использовать Ajax ... или javascript – Akshay

ответ

0

К сожалению для вас, использование Javascript (jQuery + AJAX) - это способ сделать это, и я не думаю, что есть другой способ.

+0

Хорошо, спасибо. Еще одна вещь: могу ли я передавать такие файлы? Моя форма сохраняет файлы в submit, но могу ли я также отправить какую-либо информацию из $ _FILES? –

0

Вы можете отправить форму для редактирования или предварительного просмотра, в зависимости от того, какая кнопка нажата.

Жаль, что вы не нашли времени, чтобы показать свой код формы. Однако при условии, если ваша форма составлена ​​так, как

<form method="post" id="myform"> 
    <input type="submit" data-url="/edit" value="Edit" /> 
    <input type="submit" data-url="/preview" value="Preview" /> 
    ... 
</form> 

Вы можете отправить форму на тот или иной номер.

$(document).ready(function(){ 

    $("#my_form").submit(function(event) 
    var url = $(this).attr('data-url'); 

    $('#my_form').attr('action',url); 
      : 
    }); 
}); 
Смежные вопросы