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



 

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

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

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> отправка формы методом post без перезагрузки страницы
sasha457
sasha457
Topic Starter сообщение 7.1.2011, 1:18; Ответить: sasha457
Сообщение #1


Помогите! Плз! Существует форма:
<input name="usernic" id="st" type="text" value="">
<input type="submit" value="Send">

Вот нужно отправить введеный текст методом post без перезагрузки.

Я так понимаю отпавлять нужно через xmlHTTP. Ток не понимаю как это написать))!
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
NiKON_hb
NiKON_hb
сообщение 7.1.2011, 1:48; Ответить: NiKON_hb
Сообщение #2


[PHP]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Документ Без Имени</title>
<script type="text/javascript">
function SendForm(formid,fieldnames,action){

var count = -1;

//проверяем заполненность нужных полей
var field = fieldnames.split(',');
for(var i=0;i<=field.length;i++){
if($('#'+field[i]).val()==''){//если поле пустое, выделяем его
count++;
$('#'+field[i]).css({backgroundColor: "#FFCECE",border: "1px solid #BB0000"});
if(count==0)$('#'+field[i]).focus();//ставим курсор в первое незаполенное поле
//выводим сообщение
$('#err_'+field[i]).hide();
$('#err_'+field[i]).html('заполните поле');
$('#err_'+field[i]).fadeIn('slow');

}else{//если поле заполено, отменяем выделение
$('#'+field[i]).css({backgroundColor: "#fff",border: "1px solid #888"});
$('#err_'+field[i]).empty();
}
}

//если все поля заполены, отправвляем обработчику
if(count==-1){

var dataString = $('#'+formid).serialize();//собираем все данные в строку

$.ajax({
type: "POST",
url: action,
data: dataString,
success: function(data){

//если в ответе содержится символ '/', выводим сообщение об ошибке заполнениия
if(data.indexOf('/')>-1){
field = data.split('/');//отделяем сообщение от id (name) поля
$('#'+field[1]).css({backgroundColor: "#FFCECE",border: "1px solid #BB0000"});
if(count==0)$('#'+field[1]).focus();
$('#err_'+field[1]).hide();
$('#err_'+field[1]).html(field[0]);
$('#err_'+field[1]).fadeIn('slow');

}else{
//если форма отправлена успешно выводим alert с текстом сообщения
alert(data);
$('#'+formid)[0].reset(); //сбрасываем значения формы
}

}
});

}

}
</script>
</head>

<body>
<?php echo $_POST['nick']; ?>
<form id="regForm" name="regForm" action="" method="post" >
<input name="nick" id="nick" type="text" value="" >
<input type="submit" id="Send" value="send" onclick="SendForm('regForm','nick','fine.php');return false">
</form>
</body>
</html>[/PHP]

Вот - только принимает этот же документ.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sasha457
sasha457
Topic Starter сообщение 7.1.2011, 2:11; Ответить: sasha457
Сообщение #3


ток у тя все равно страница перезагружается.!!Ахахах)))
с таким же успехом я могу вот так сделать

<?php echo $_POST['nick']; ?>
<form id="regForm" name="regForm" action="" method="post" >
<input name="nick" id="nick" type="text" value="" >
<input type="submit" id="Send" value="send" onclick="SendForm('regForm','nick','fine.php');return false">
</form>

тож самое. У тя скрипт неработает!!!!!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
NiKON_hb
NiKON_hb
сообщение 7.1.2011, 2:20; Ответить: NiKON_hb
Сообщение #4


она перезагружается потому что она же принимает выставите другой "приниматель". Хотя возможно я ошибся
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
LifeUP
LifeUP
сообщение 7.1.2011, 2:22; Ответить: LifeUP
Сообщение #5


много кода...

index.html
<form action="" method="post">
Имя: <input name="name" type="text" maxlength="128"><br />
<input name="submit" type="submit" value="Отправить" onClick="saveform (this.form);return false;">
</form>
<div id="enter_name"></div>

<script type="text/javascript" src="jquery-1.4.4.min.js"></script>
<script type="text/javascript">
function saveform (data)
{
var name = data.name.value;

$.post('save.php',{name:name},function(data){
$('#enter_name').html(data);
},'json');
}
</script>


save.php
[PHP]
die (json_encode ($_POST['name']));
[/PHP]

Не забудьте библиотеку jquery подключить
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
NiKON_hb
NiKON_hb
сообщение 7.1.2011, 3:05; Ответить: NiKON_hb
Сообщение #6


LifeUP, спасибо. Вы помогли и мне.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sasha457
sasha457
Topic Starter сообщение 7.1.2011, 15:11; Ответить: sasha457
Сообщение #7


Спасибо)! Надо начинать активно юзать ajax))
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gr1mm3r
gr1mm3r
сообщение 3.7.2012, 15:48; Ответить: gr1mm3r
Сообщение #8


Для тех кто хочет данным скриптом дальше обрабатывать полностью форму.
(Мого вопросов по этому скрипту ходит в интернетах)

[JS]
<form action="" method="post">
Имя: <input name="name" type="text" maxlength="128">
Фамилия: <input name="fname" type="text" maxlength="128">
<input name="submit" type="submit" value="Отправить" onClick="saveform (this.form);return false;">
</form>
<div id="enter_name"></div>

<script type="text/javascript" src="jquery-1.4.4.min.js"></script>
<script type="text/javascript">
function saveform (data)
{
var name = data.name.value;
var fname = data.fname.value;
$.post('save.php',{name:name,fname:fname},function(data){
$('#enter_name').html(data);
},'json');
}
</script>
[/JS]
[PHP]
#Обязательно перечисляем все переменные которые есть в выводе
$name = $_POST['name'];
$fname = $_POST['fname'];
#
#Если их много и поля обработки совпадают можно использовать foreach
#$vars = $_POST;
#foreach ($vars as $key => $value){
# $$key = $value;
# }
#
#Работает как автоназначение $name=$_POST['name']
#
#тутможно написать запрос к базе на изменение данных типа
#$vyvod = "конец запроса";
#$db = mysql_query(UPDATE ........);
die (json_encode ($name . $fname));
#или
#die (json_encode ($vyvod));
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
foresh
foresh
сообщение 23.9.2012, 17:26; Ответить: foresh
Сообщение #9


Объясните пожалуйста, можно ли передать значение radio?
[JS]<form action="" method="post">
<input id="Radio1" type="radio" class="RadioClass" name="sizes" value="1" >
<label id="Label1" for="Radio1" class="RadioLabelClass1"></label>
<input id="Radio2" type="radio" class="RadioClass" name="sizes" value="2"/>
<label id="Label2" for="Radio2" class="RadioLabelClass2"></label>
<input id="Radio3" type="radio" class="RadioClass" name="sizes" value="3"/>
<label id="Label3" for="Radio3" class="RadioLabelClass3"></label>
<input id="Radio4" type="radio" class="RadioClass" name="sizes" value="4"/>
<label id="Label4" for="Radio4" class="RadioLabelClass4"></label>
<input name="submit" type="submit" value="Отправить" onClick="saveform (this.form);return false;">
</form>
<div id="enter_name"></div>

<script type="text/javascript" src="jquery-1.4.4.min.js"></script>
<script type="text/javascript">
function saveform (data)
{
var sizes = data.sizes.value;
$.post('save.php',{sizes:sizes},function(data){
$('#enter_name').html(data);
},'json');
}
</script>[/JS]
[PHP]$size = $_POST['sizes'];
$out = fopen("new.txt", "a");
fwrite($out, "$size"."\n");[/PHP]
Сделал так, но не сохраняет значение.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Sirocco_hb
Sirocco_hb
сообщение 7.10.2012, 13:24; Ответить: Sirocco_hb
Сообщение #10


А подскажет кто-нибудь, как сделать простейшую кнопку, по нажатию на которую отправлялся бы post запрос, заранее прописанный для этой кнопки, но это всё нужно без перезагрузки и обновления страницы. Принимать и обрабатывать их не нужно.
Это нужно для устройства, которое управляется по web путём post запросов. То есть так: перехожу в браузере по адресу http://192.168.1.7/?Bra=1 и лампа загорается, перехожу по http://192.168.1.7/?Bra=0 и лампа тухнет. Вот хотелось бы реализовать кнопку.
Пока сделал так:
[PHP]include('simple_html_dom.php');
$html = file_get_html('http://192.168.1.7');

if(isset($_POST['execute'])){

$sURI = 'http://192.168.1.7/?'.$_POST['comand'];
file_get_contents($sURI);
header("Location: {$_SERVER['PHP_SELF']}");
}


$cont .= '<form method="POST">';
$cont .= '<input type="hidden" name="comand" value="Bra=1">';
$cont .= '<input type="submit" name="execute" value="Бра ON">';
$cont .= '</form>';
$cont .= '<input type="hidden" name="comand" value="Bra=0">';
$cont .= '<input type="submit" name="execute" value="Бра OFF">';
$cont .= '</form>';[/PHP]
Но это как-то криво, и перезагружается страница. Помогите, пожалста.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыНастройка яндекс директ рекламы БЕЗ РАСХОДОВ БЮДЖЕТА
Количество продаж будет ОГРАНИЧЕННО!
22 ITstaf 4413 Вчера, 21:00
автор: 100ftd
Открытая тема (нет новых ответов) PROXY-STORE.COM — ipV4 прокси от 42р В МЕСЯЦ с ротацией и без! Лучшая цена на рынке. 200+ стран
21 proxystore 5346 19.4.2024, 12:02
автор: proxystore
Открытая тема (нет новых ответов) Большие базы Semrush кейвордов по разным тематикам! Много кейвордов с трафиком и без конкуренции! Volume, KD, CPC
22 Krok 6764 12.4.2024, 5:17
автор: Krok
Открытая тема (нет новых ответов) Скрипты и программы на заказ любой сложности. Без предоплаты. Быстро, качественно и недорого!
5 c4p1t4l15t 2531 6.4.2024, 12:51
автор: c4p1t4l15t
Открытая тема (нет новых ответов) Обменяю Юмани на гривны без комиссии
3 freeax 1007 2.4.2024, 1:46
автор: Llirik


 



RSS Текстовая версия Сейчас: 24.4.2024, 18:45
Дизайн