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 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) PROXY-STORE.COM — ipV4 прокси от 42р В МЕСЯЦ с ротацией и без! Лучшая цена на рынке. 200+ стран
18 proxystore 4687 Вчера, 20:00
автор: proxystore
Открытая тема (нет новых ответов) Скрипты и программы на заказ любой сложности. Без предоплаты. Быстро, качественно и недорого!
4 c4p1t4l15t 2238 26.3.2024, 21:38
автор: c4p1t4l15t
Открытая тема (нет новых ответов) Сайт не индексируется в Google без добавления ссылок в адурилку
4 Nekit 991 20.3.2024, 21:44
автор: MorKer
Открытая тема (нет новых ответов) JustProxy - Резидентые прокси без ограничения по трафику
Residential rotating proxy
16 justproxy 5641 20.3.2024, 14:57
автор: ManagerAE8888
Открытая тема (нет новых ответов) Большие базы Semrush кейвордов по разным тематикам! Много кейвордов с трафиком и без конкуренции! Volume, KD, CPC
20 Krok 6225 18.3.2024, 5:43
автор: Krok


 



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