Javascript.RU

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

Передача данных из формы javascript
Уважаемые! Подскажите новичку как вытащить из этой формы данные ?..
А именно нужно что бы пользователь выбирал сколько ему нужно полей от 1 до 10 и все эти поля заносились в БД mysql поле в новой строке..
Сейчас в этом коде после нажатия субмит срабатывает алерт а как вывести это в php я не могу понять

$(document).ready(function(){


	var i = $('input').size() + 1;
	
	$('#add').click(function() {
		$('<div><input type="text" class="field" name="dynamic[]" value="' + i + '" /></div>').fadeIn('slow').appendTo('.inputs');
		i++;
	});
	
	$('#remove').click(function() {
	if(i > 1) {
		$('.field:last').remove();
		i--; 
	}
	});
	
	$('#reset').click(function() {
	while(i > 2) {
		$('.field:last').remove();
		i--;
	}
	});
	

// here's our click function for when the forms submitted
	
	$('.submit').click(function(){
	
	var answers = [];
    $.each($('.field'), function() {
        answers.push($(this).val()); 
    });
	
    if(answers.length == 0) { 
        answers = "none"; 
    }   

	alert(answers);
	
	return false;
							
	});
	
	

});

<body>

<div id="container">

<div class="dynamic-form">

<a href="#" id="add">Добавить</a> | <a href="#" id="remove">Удалить</a>  | <a href="#" id="reset">Сбросить</a>  

<form>
<div class="inputs">
<div><input type="text" name="dynamic[]" class="field" value="1"></div>
</div>
<input name="submit" type="button" class="submit" value="ОК">
</form>
</div>





</div>

</body></html>
Ответить с цитированием
  #2 (permalink)  
Старый 26.06.2013, 16:33
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

вместо алерта отправьте данные пост запросом на пхп файл http://api.jquery.com/jQuery.post/
Ответить с цитированием
  #3 (permalink)  
Старый 26.06.2013, 18:32
Аспирант
Отправить личное сообщение для nikolaymac Посмотреть профиль Найти все сообщения от nikolaymac
 
Регистрация: 26.06.2013
Сообщений: 33

не совсем понимаю как грамотно написать это
Ответить с цитированием
  #4 (permalink)  
Старый 26.06.2013, 18:51
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

както так $.post("test.php", { answers } ); а в test.php обрабатывать $_POST['answers']
Ответить с цитированием
  #5 (permalink)  
Старый 27.06.2013, 06:57
Аспирант
Отправить личное сообщение для nikolaymac Посмотреть профиль Найти все сообщения от nikolaymac
 
Регистрация: 26.06.2013
Сообщений: 33

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery-1.3.1.min.js"></script>
<script>
$(document).ready(function(){



	var i = $('input').size() + 1;

	$('#add').click(function() {
		$('<div><input type="text" class="field" name="dynamic[]"  /><input type="text" class="field" name="dynamic[]"  /></div>').fadeIn('slow').appendTo('.inputs');
		i++;
		
	});
	
	$('#remove').click(function() {
	if(i > 1) {
		$('.field:last').remove();
		$('.field:last').remove();
		i--; 
	}
	});
	
	$('#reset').click(function() {
	while(i > 2) {
		$('.field:last').remove();
		i--;
	}
	});
	

// here's our click function for when the forms submitted
	
	$('.submit').click(function(){
	
	var answers = [];
    $.each($('.field'), function() {
        answers.push($(this).val()); 
    });

	
    
  // Отсылаем паметры
       $.ajax({
                type: "POST",
                url: "new.php",
                data: "data="+answers,
                // Выводим то что вернул PHP
                success: function(html) {
 //предварительно очищаем нужный элемент страницы
                        $("#result").empty();
//и выводим ответ php скрипта
                        $("#result").append(html);
                }
        });  

	
	
	
	
	return false;
							
	});
	
	

});

</script>

<style>
input{
	border:1px solid #ccc;
	padding:8px;
	font-size:14px;
	width:300px;
	}
	
.submit{
	width:110px;
	background-color:#FF6;
	padding:3px;
	border:1px solid #FC0;
	margin-top:20px;}	

</style>



<body>

<div id="container">

<div class="dynamic-form">

<a href="#" id="add">Добавить</a> | <a href="#" id="remove">Удалить</a>  | <a href="#" id="reset">Сбросить</a>  

<form>
<div class="inputs">
<div><input type="text" name="dynamic[]" class="field" >
<input type="text" name="dynamic[]" class="field" ></div>
</div>
<input name="submit" type="button" class="submit" value="ОК">
</form>
<div id="result"></div>
</div>





</div>

</body></html>



Это полный код...

принимаю так

<?
$data=$_POST[data];

$array = explode(',', $data);

foreach ($array as $number=>$value)
{
echo "в поле ".$number;
echo " значение ".$value;
echo "<br>";
}

?>


Вопрос Как ограничить чистой добавляемый полей ?? допустим что бы пользователь мог добавить только 10 полей и все

Последний раз редактировалось nikolaymac, 27.06.2013 в 07:25.
Ответить с цитированием
  #6 (permalink)  
Старый 27.06.2013, 08:29
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

У тебя в переменной i содержится количество полей. После добавления поля делай проверку, если лимит исчерпан - скрывай кнопку. По клику кнопки удаления проявляй кнопку добавления.
Ответить с цитированием
  #7 (permalink)  
Старый 27.06.2013, 08:49
Аспирант
Отправить личное сообщение для nikolaymac Посмотреть профиль Найти все сообщения от nikolaymac
 
Регистрация: 26.06.2013
Сообщений: 33

какой функцией или методом скрыть ссылку и потом вернуть? (кнопку добавить)
Ответить с цитированием
  #8 (permalink)  
Старый 27.06.2013, 08:51
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$('#add').hide() | $('#add').show()
Ответить с цитированием
  #9 (permalink)  
Старый 27.06.2013, 10:05
Аспирант
Отправить личное сообщение для nikolaymac Посмотреть профиль Найти все сообщения от nikolaymac
 
Регистрация: 26.06.2013
Сообщений: 33

теперь проблема в следующем... отдельно в файле этот код работает... когда я его вставляю в заполненую страницу которая содержит различные инпуты и кнопки СТОП на добавление полей работает только после нажатия на кнопку Сброс!
<script>
$(document).ready(function(){



	var i = $('input').size() + 1;

	$('#add').click(function() {
		$('<div><input type="text" class="field" name="dynamic[]"  /> <input type="text" class="field" name="dynamic[]"  /></div>').fadeIn('slow').appendTo('.inputs');
		i++;
	if(i==5){
	
	$('#add').hide() 
	}
		
	});
	
	$('#remove').click(function() {
	if(i > 1) {
		$('.field:last').remove();
		$('.field:last').remove();
		i--; 
		$('#add').show() 
	}
	});
	
	$('#reset').click(function() {
	while(i > 2) {
		$('.field:last').remove();
		$('.field:last').remove();
		i--;
		$('#add').show() 
	}
	});
	

// here's our click function for when the forms submitted
	
	$('.submit').click(function(){
	
	var answers = [];
    $.each($('.field'), function() {
        answers.push($(this).val()); 
    });

	
    
  // Отсылаем паметры
       $.ajax({
                type: "POST",
                url: "new.php",
                data: "data="+answers,
                // Выводим то что вернул PHP
                success: function(html) {
 //предварительно очищаем нужный элемент страницы
                        $("#result").empty();
//и выводим ответ php скрипта
                        $("#result").append(html);
                }
        });  

	
	
	
	
	return false;
							
	});
	
	

});
Ответить с цитированием
  #10 (permalink)  
Старый 27.06.2013, 11:01
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Хз, живой пример запили через [​html run][/​html]
И не нужно совать в цикл .hide() / .show()
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передача данных из форм своего сайта в формы стороннего сайта najrobi Общие вопросы Javascript 19 15.07.2012 22:18
Передача данных из формы Eugene Общие вопросы Javascript 4 15.12.2010 11:41
Передача данных с формы на JS mrDeko Общие вопросы Javascript 8 21.08.2010 12:19
Передача данных из формы в форму на разных страницах Катерина Общие вопросы Javascript 1 04.03.2010 18:18
Скрытая передача данных из JavaScript Xero201 Общие вопросы Javascript 4 27.03.2009 01:13