Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.10.2016, 00:46
Интересующийся
Отправить личное сообщение для griga999 Посмотреть профиль Найти все сообщения от griga999
 
Регистрация: 22.02.2015
Сообщений: 21

Как передать данные из одинаковых форм php скрипту через AJAX?
Задача следующая:
На странице 50 форм. Все они разные и имеют структуру:
Например форма #1
<form id="update_goods_info_1" name="update_goods_info_1" method="post" action="" onsubmit="getdetails(1)">
  Кол-во товаров: <input name="inventory" type="text" id="inventory" size="6" maxlength="6" /> 
  <br/>
  Новая цена: <input name="price" type="text" id="price" size="10" maxlength="10" /> 
  <br/>
  Старая цена: 
  <input name="old_price" type="text" id="old_price" size="10" maxlength="10" /> 
  <br/>
  <input type="hidden" name="goods_id" id="goods_id" value="1">
  <div class="results_script_work_1"></div>
  <input value="Обновить" type="submit"> 
</form>

Например форма #2
<form id="update_goods_info_2" name="update_goods_info_2" method="post" action="" onsubmit="getdetails(2)">
  Кол-во товаров: <input name="inventory" type="text" id="inventory" size="6" maxlength="6" /> 
  <br/>
  Новая цена: <input name="price" type="text" id="price" size="10" maxlength="10" /> 
  <br/>
  Старая цена: 
  <input name="old_price" type="text" id="old_price" size="10" maxlength="10" /> 
  <br/>
  <input type="hidden" name="goods_id" id="goods_id" value="2">
  <div class="results_script_work_2"></div>
  <input value="Обновить" type="submit"> 
</form>


На странице подключена библиотека: jquery-1.11.1.min.js

Есть php скрипт, который должен обработать передаваемые данные, пусть скрипт называется update.php

В скрипте мне надо получить данные, которые будут передаваться через форму. У каждой формы свой id. Если что его можно передать функции JS.

Мне не хватает функции getdetails() которая будет передавать данные формы php скрипту.

Помогите написать эту функцию.

Как я и сказал, если что у каждой формы можно сделать уникальный id и передать его функции.

Так же результат выполнения скрипта выводить рядом с каждой формой. Если что <div class="results_script_work_2"></div> у каждой формы уникальный.

Что я предлагаю: надо передать функции JS getdetails() этот префикс, который делает каждую форму уникальной, и в зависимости от этого префикса обработать и передать данные именно этой формы и изменить значение div class="results_script_work_2 именно у нужной формы. Помогите написать функцию getdetails(), чтобы данные формы которые отправляется были доступны в POST массиве в скрипте update.php

Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 06.10.2016, 09:11
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,273

Сообщение от griga999
Как я и сказал, если что у каждой формы можно сделать уникальный id и передать его функции.
Это не обязательно...

Как вариант.

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	$('form').submit(function(){
		var o=$(this).next();
		o.text(+o.text()+1);
		return false;
	});
})
</script>
</head>
<body>
<form>
	<input type='text' />
	<button>Send</button>
</form>
<div></div>
<form>
	<input type='text' />
	<button>Send</button>
</form>
<div></div>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 06.10.2016, 11:35
Интересующийся
Отправить личное сообщение для griga999 Посмотреть профиль Найти все сообщения от griga999
 
Регистрация: 22.02.2015
Сообщений: 21

Может так будет проще. Я плохо разбираюсь в этой области.
Ответить с цитированием
  #4 (permalink)  
Старый 06.10.2016, 11:35
Интересующийся
Отправить личное сообщение для griga999 Посмотреть профиль Найти все сообщения от griga999
 
Регистрация: 22.02.2015
Сообщений: 21

А как будет выглядеть функция по обработке данных формы и отправке её php скрипту?
Ответить с цитированием
  #5 (permalink)  
Старый 06.10.2016, 13:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,273

Сообщение от griga999
А как будет выглядеть функция по обработке данных формы и отправке её php скрипту?
Как вариант, просто отправить запрос серверу, сформировав УРЛ из нужных тебе данных формы...

Т.е. подойдет любой вариант отправки формы на сервер.
Ответить с цитированием
  #6 (permalink)  
Старый 06.10.2016, 14:42
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от griga999
На странице 50 форм.
Это господа он datagrid так делает. Таблица у него из форм. ТС, слово видишь? Поищи по нему решения.
Ответить с цитированием
  #7 (permalink)  
Старый 06.10.2016, 14:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от griga999
На странице 50 форм.
Зачем?

Сообщение от griga999
Все они разные и имеют структуру
Покажите где в них принципиальная разница?

Сообщение от griga999
А как будет выглядеть функция по обработке данных формы и отправке её php скрипту?
Форма должна быть одна, которая описывает все данные как вложенный массив (это определяется именованием полей). Сервер получает сразу все данные для обновления.

Последний раз редактировалось laimas, 06.10.2016 в 14:56.
Ответить с цитированием
  #8 (permalink)  
Старый 06.10.2016, 16:52
Интересующийся
Отправить личное сообщение для griga999 Посмотреть профиль Найти все сообщения от griga999
 
Регистрация: 22.02.2015
Сообщений: 21

То что 50 форм так и надо, может быть и 1 и может быть 100шт
Это для удобства управления кол-вом товаров. а так же ценой твоара в интернет магазине.

У каждый формы свой уникальный id это по желанию, думал может так проще будет. Разницы в фомрах нет, можно хоть все одинаковые. Главное передавались нужные значения.

Формы отличаются только 1 скрытым полем. У каждой оно разное и соответствует id в БД.

Например 50 форм, в каждой по три поля, и каждая форма соответствует одному товару.

Одну форму не так удобно делать. Проще как я сделал.
Ответить с цитированием
  #9 (permalink)  
Старый 06.10.2016, 16:54
Интересующийся
Отправить личное сообщение для griga999 Посмотреть профиль Найти все сообщения от griga999
 
Регистрация: 22.02.2015
Сообщений: 21

Я по сути всё сделал и всё работает, но только с перезагрузкой страницы. А хочется без, т.к. удобнее это в этом случае
Ответить с цитированием
  #10 (permalink)  
Старый 06.10.2016, 17:30
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от griga999
То что 50 форм так и надо, может быть и 1 и может быть 100шт
Это для удобства управления кол-вом товаров. а так же ценой твоара в интернет магазине.
То есть по вашему одной формой никак не обойтись?

У товара много характеристик может быть, а также наличие у них фото, документов сопутствующих и прочее. Вот это редактируется отдельно для каждого товара, последовательно.
А изменить количество, цену, статус и т.п., все это проще групповой операцией одно формой. Если поля этой формы именовать так:

<input name="price[111]">
<input name="count[111]">
<input name="price[222]">
<input name="count[222]">

где 111 и 222 идентификаторы товара, то сервер получит массив:

price => [111=>value, 222=>value]
count => [111=>value, 222=>value]

и это можно обновить например и одним запросом к базе, сформировав из полученный данных запрос многострочной вставки и использовать ON DUPLICATE KEY UPDATE. Можно и "традиционным" способом, но в любом случае плодить кучи форм когда требуются легкие операции, это не оправдано.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение через ajax к классу, функции на php Vincent Vega jQuery 2 21.02.2016 15:23
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Ребят как передать значение из php в src название изображения! SpiritDark Элементы интерфейса 4 14.05.2012 14:02
Как добавить элемент в XML через DOM используя PHP? bayah Серверные языки и технологии 6 11.08.2010 13:33
Как в ajax запросе передать файл методом POST mcpro jQuery 1 16.12.2009 11:41