2012-05-29 2 views
0

Это следовать до этого вопроса:Как скопировать значения одного элемента формы в другой?

How can I manipulate a form/inputs to be ignored when a form is submitted

Я инфо отображается, форма, шоу() s и скрыть() s и т.д. Большинство все, кажется, прогрессирует довольно хорошо , Там, где я мог бы использовать какой-либо ввод - ни один каламбур не был принят, - о том, как принимать новые значения в форме и копировать их на дисплей только div как часть ajaxSuccess.

Я могу скопировать тип = текст и текстовое поле, но как насчет флажков, мульти-выбирает и радио.

Короче, как только будут представлены новые значения в форме, мне нужно обновить страницу (а не как форму) с этими новыми значениями. Возможно, мне нужно написать некоторые для каждого типа элемента формы? Тем не менее, я не совсем уверен, с чего начать.

Простите меня, если моя работа непонятна. Если это так, просто спросите, что вы хотите, чтобы я уточнил.

+0

Вы пробовали селектор ': input'? –

ответ

0

Путь, который будет иметь наибольшее значение, заключается в том, чтобы сценарий, обрабатывающий форму, возвращал содержимое формы в данные ajaxSuccess. Вот пример:

Javascript:

$.ajax({ 
    url: 'ajax/process.php', 
    success: function(data) { 
     // Load returned data into page 
     $('#result').html(data); 
    } 
}); 

РНР:

var $input1 = $_POST['input1']; 
var $input1 = $_POST['input1']; 

// DO SOMETHING WITH VARS AND IF SUCCESSFUL RETURN 

if($success){ 
    echo "Thanks! Here is your info: ".$input1." and ".$input2; 
} 

После того, как данные были возвращены вы можете работать с ним в любом случае вам нравится. Например, если вам нужно было выделить разные значения из формы, вы можете отправить строку с запятыми из PHP и использовать метод javascript .split() для создания массива из этой строки.

Надеется, что это полезно :)

+0

Thanks @Steve O - К сожалению, я не думаю, что SafeCracker + Ajax ExpressionEngine возвращает объект, который содержит обновленные поля + значения. Я ищу простой или, по крайней мере, «разумный» способ взглянуть на элемент управления ввода (например, multi-select), узнать, что это такое, а затем обновить «двойное» управление в другом месте на странице. Я использую атрибут data в элементе От элемента управления к ID (буквально) To. Должно быть, можно пригодиться, да? –

+0

Кстати, у моего плана B есть только одна форма, продолжайте использовать disabled = "disabled", но используйте addClass/removeClass, чтобы «переключить» стиль формы. Версия disable = false будет выглядеть как реальная форма, disable = true с классом = «is-disabled» (например) будет стилизовать форму, чтобы скрыть границы и т. Д. Проблема заключается в том, что, если пользователь вносит изменения а затем нажмите «Отмена». Как я могу вернуть изменения обратно к значениям до щелчка «Редактировать ссылки»? –

+0

Duh ?! Просто обнаружил форму Сброс. Похоже, что план B будет идеальным решением. –

0

Я бы сказал, что вам лучше взять другой подход в целом, и загрузить контент из базы данных после того, как он был обновлен - в этом случае через вызов AJAX. Причина в том, что ваш размещенный контент из формы может не совпадать с тем, что в конечном итоге сохраняется в базе данных, так как некоторые из ваших типов полей могут обрабатывать и изменять передаваемые им данные (например, удаление дескрипторов, форматирование текста и т. Д.). Таким образом, обновленный контент точно соответствует тому, что отображается, когда один и тот же контент поступает из вызова «Записи каналов».

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