X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Отменить введенные значения в форму
Wins
Wins
Topic Starter сообщение 8.2.2015, 8:38; Ответить: Wins
Сообщение #1


Здравствуйте! как это можно реализовать?

[JS]$("#table-1").delegate(".mod", "click", function(){

var value = $(this).parents('tr').find('#table-code tbody').html();
// вообще тут лучше наверное получить значения инпута через each
}):

$('.reset').live("click", function() {

// сюда передать переменную value, чтобы по нажатию "отмена",
// удалить текущие строки таблицы
// и подставить их из переменной value
// тут опять же лучше будет просто подставить значения инпута,
// чтоб не извращаться с строками таблицы.
//но это потом

}):[/JS]

Суть в том что по нажатию кнопки отмена, отменить вводимые данные, и вернуть те что были.

Получается по клику .mod вызывается модальное окно, в нем элементы формы,

к примеру в input уже имеется значение ABC, если вводим вместо этих данных BCF

то по нажатию отмена окно зыкрывается, и в инпут возвращается предыдущие значение т.е ABC

Для это нужно получить текущие данные по вызову окна, и по отмене их подставить в таблицу вместо введенных, не могу разобраться как передать переменную между функциями
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 8.2.2015, 15:15; Ответить: Den1xxx
Сообщение #2


Нафига здесь яваскрипт, если просто в кнопку форму можно добавить:
<input type="reset" value="Сбросить" />
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wins
Wins
Topic Starter сообщение 8.2.2015, 15:37; Ответить: Wins
Сообщение #3


(Den1xxx @ 8.2.2015, 17:15) *
Нафига здесь яваскрипт, если просто в кнопку форму можно добавить:

<input type="reset" value="Сбросить" />


Не так не катит, хотел сразу об этом сказать, но подумал что вопросов не возникнет))

Оно то сбрасывает но не так как надо.

reset приводит значение инпутов в предыдущее состояние, а у меня при загрузке инпуты пустые, а в модальном окне отправка данных не происходит,

а всего лишь я в нем создаю инпуты и добавляю в html страницу, а отправка уже происходит потом, это всего лишь часть формы)

Получается изначально пустой инпут когда страница загрузилась, а при вызове модального окна страница ж не перезагружается, грубо говоря оно принимает значение display:block; или display:none;

Итого :
вызвали окно-> заполнили инпуты
->нажали ок
-> окно закрылось, в инпутах есть значения
->открыли заново окно
-> в инпутах все те же значения
-> ввожу другие
->нажимаю отмена = в итоге старые не вернуться, а поля просто очистятся, ведь изначально при загрузке страницы у них по умолчанию нет значений.
Все эти изначально инпуты пустые , плюс новые создаются через js.

по этому <input type="reset" value="Сбросить" /> не помогает.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 8.2.2015, 22:27; Ответить: Den1xxx
Сообщение #4


А что за форма? Чего-то я не понимаю, для чего может понадобиться запоминать промежуточные какие-то значения.
Обычно форма отправляет данные на сервер, сервер проверяет всё ли ОК, если нет — возвращает ту же форму, но с частично заполненными полями из массива $_POST
Если страница не перезагружается, то то же самое, но отправка данных, проверка и пр. делается на аякс.
Если ошибок нет — форма скрывается, если ошибки — остаётся висеть с частично заполненными полями.
А вот так, чтобы

(Wins @ 8.2.2015, 17:37) *
->нажали ок
-> окно закрылось, в инпутах есть значения
->открыли заново окно
-> в инпутах все те же значения
-> ввожу другие
->нажимаю отмена = в итоге старые не вернуться, а поля просто очистятся, ведь изначально при загрузке страницы у них по умолчанию нет значений.

трудно понимаю, для чего это может понадобиться.
Получается — первый раз не очищаются, второй раз очищаются — это как?

(Wins @ 8.2.2015, 17:37) *
по этому <inрut type="reset" value="Сбросить" /> не помогает.

Вообще-то если форма изначально не была заполнена, то должна очищать значения.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zippovich
Zippovich
сообщение 9.2.2015, 1:46; Ответить: Zippovich
Сообщение #5


переменную сделайте на уровень выше функций, она будет доступна обеим функциям, в одной функции заполняйте ее значениями с полей ввода, во второй восстанавливайте.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wins
Wins
Topic Starter сообщение 9.2.2015, 2:09; Ответить: Wins
Сообщение #6


[attachment=40636:screenshot_15-02-08_13-59-26.jpg]

Ну вот, если будет понятно)

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

Короче это окно никаких данных не отправляет, по отмене или ок оно просто закрывается, и делает еще некоторые действия
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 9.2.2015, 9:29; Ответить: Den1xxx
Сообщение #7


наверное нужно сделать в бд объект для сохранения черновика формы
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wins
Wins
Topic Starter сообщение 9.2.2015, 9:48; Ответить: Wins
Сообщение #8


(Den1xxx @ 9.2.2015, 11:29) *
наверное нужно сделать в бд объект для сохранения черновика формы

Та ну хз, я сначала думал что там ничего сложного, а в итоге ничего не получается, думаю оптимальный вариант через js, попробую с переменными как
Zippovich, писал, хотя я уже это делал, но видимо не так как надо.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Degradator
Degradator
сообщение 9.2.2015, 11:54; Ответить: Degradator
Сообщение #9


Сохраняй данные инпута в дата-аттрибут, что-то типа
[JS]<input id="text" name="text" type="text" value="aaaa" data-history="bbbb">
function clear(){
var input = document.getElementById('text');
var oldData = input.getAttribute('data-history');
oldData = oldData ? oldData : "";
input.value = oldData;
}

function save(){
var input = document.getElementById('text');
input.setAttribute('data-history', input.value);
}[/JS]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Wins
Wins
Topic Starter сообщение 9.2.2015, 16:00; Ответить: Wins
Сообщение #10


Спс, то что нужно, только как это применить когда несколько одинаковых инпутов?

Вроде надо циклом, но что то все равно подставляется везде значение с первого инпута

[JS] var $code = $(this).parents('tr').find("#table input");

$code.each(function(i){

var value = $code.attr("value");

$code.attr("data-history",value);

});[/JS]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Настройка каптчи на форму обратной связи
3 woolf 2030 9.4.2019, 17:21
автор: bobur
Открытая тема (нет новых ответов) Настроить email форму
Сам скрипт, форма готова
2 tube 1647 26.2.2019, 14:33
автор: tube
Открытая тема (нет новых ответов) Спам через форму обратной связи на сайте
14 Evgeniy3200 8082 15.5.2017, 20:53
автор: samvel32453
Открытая тема (нет новых ответов) Нужно создать всплывающую форму обратной связи
2 Roman--1 4166 29.1.2014, 20:32
автор: -Den1xxx-
Открытая тема (нет новых ответов) Как переместить значения ячеек таблицы при клике на первую (Javascript, Ajax, jQuery)
2 anethum 6736 2.9.2013, 13:08
автор: -RayOfLight-


 



RSS Текстовая версия Сейчас: 29.3.2024, 3:56
Дизайн