PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Описание: отправка формы без перезагрузки страницы
Поиск в теме | Версия для печати
dsqwared
Отправлено: 15 Июля, 2015 - 12:02:19
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Июль 2015
Помог: 0 раз(а)
Здравствуйте, не могу понят что ж не так... есть форма обратной связи, хочу сделать, отправку писем без перезагрузки страницы, т.к. форма выводится в модальном окне.
файл 1.php
CODE (
html ):
скопировать код в буфер обмена
<form action = "" id = "contactForm" class = "wpcf7-form" method = "post" > <label > Ваше имя *</ label >
<input type = "text" name = "index" id = "index" class = "textfield" required= "" value = "" / >
<label > Ваш E-Mail *</ label >
<input type = "email" name = "email" id = "email" class = "textfield" required= "" value = "" / >
<label class = "text-label" > Ваш вопрос *</ label >
<textarea name = "contactSurName" id = "contactSurName" class = "textarea" value = "" ></ textarea >
<input type = "button" style = "width: 100%;margin-top: 10px;" id = "send_button" class = "button" value = "Задать вопрос" / >
<input type = "hidden" name = "submitted" id = "submitted" value = "true" / >
</ form >
ajax.js
CODE (
javascript ):
скопировать код в буфер обмена
document.getElementById ( 'send_button' ) .onclick = function ( ) {
var data= {
userName: $( '#index' ) .val ( ) ,
email: $( '#email' ) .val ( ) ,
contactSurName: $( '#contactSurName' ) .val ( ) ,
submitted: $( '#submitted' ) .val ( ) ,
}
$.ajax ( {
type : "POST" ,
url: "1.php" ,
data: data,
} ) ;
}
в файле 1.php, хочу сделать обработчик
что ж не так делаю? данные отправляются в файл 1.php но почему-то файл 1.php как будто не видит данных...
Tyoma5891
Отправлено: 15 Июля, 2015 - 12:32:41
Частый посетитель
Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013
Помог: 5 раз(а)
dsqwared пишет: данные отправляются в файл 1.php
а с чего Вы это взяли?
dsqwared
Отправлено: 15 Июля, 2015 - 13:33:05
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Июль 2015
Помог: 0 раз(а)
все-равно пусто
, только теперь в консоли данные выглядят так
(Добавление)
сделал так
CODE (
javascript ):
скопировать код в буфер обмена
$.ajax ( {
type : "POST" ,
url: "1.php" ,
data: data,
success: function ( data1) {
$( "#result" ) .empty ( ) ;
$( "#result" ) .append ( data1) ;
}
} ) ;
в файле 1.php так
после оправки формы, в теге #result появляется то, что выводит var_dump
CODE (
html ):
скопировать код в буфер обмена
<div id = "result" > array(4) {
["userName"]=>
string(8) "testва"
["email"]=>
string(16) "dsqwared@ukr.net"
["contactSurName"]=>
string(3) "222"
["submitted"]=>
string(4) "true"
}
</ div >
как-бы что-то да и работает....
пот только не пойму.. как сделать так чтобы не выводило результат в div а после прихода ответа, выполнять какую-то функцию на php?(Отредактировано автором: 15 Июля, 2015 - 13:51:22)
difight
Отправлено: 15 Июля, 2015 - 14:05:54
Посетитель
Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011
Помог: 3 раз(а)
И обрабатывай результат, в jq
А уже в jq Обрабатывай возврат с php
CODE (
javascript ):
скопировать код в буфер обмена
$.ajax ( {
type : "POST" ,
url: "1.php" ,
data: data,
dataType: 'json' ,
success: function ( data) {
if ( data.error == 0) {
alert ( 'Функция успешно завершила работу' ) ;
} else {
alert ( 'Ахтунг' ) ;
}
}
} ) ;
dsqwared
Отправлено: 15 Июля, 2015 - 14:55:17
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Июль 2015
Помог: 0 раз(а)
хз, правильно я понял?
в 1.php
в ajax
CODE (
javascript ):
скопировать код в буфер обмена
document.getElementById ( 'send_button' ) .onclick = function ( ) {
var data= {
userName: $( '#index' ) .val ( ) ,
email: $( '#email' ) .val ( ) ,
contactSurName: $( '#contactSurName' ) .val ( ) ,
submitted: $( '#submitted' ) .val ( ) ,
}
$.ajax ( {
type : "POST" ,
url: "1.php" ,
data: data,
success: function ( data1) {
if ( data1.error == 0) {
alert ( 'Функция успешно завершила работу' ) ;
} else {
alert ( 'Ахтунг' ) ;
}
}
} ) ;
}
выкидывает Ахтунг.
или я принцип не доганяю...
хочу сделать чтобы по нажатию кнопки в форме данные отправлялись в 1.php без перезагрузки страницы, а в 1.php уже был обработчик полей, если все ок, то отправляем письмо ...
dsqwared
Отправлено: 15 Июля, 2015 - 15:57:29
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Июль 2015
Помог: 0 раз(а)
IllusionMH , вот такое мне в отладчике выдало
CODE (
htmlphp ):
скопировать код в буфер обмена
data = Object { userName: "testва" , email: "dsqwared@ukr.net" , contactSurName: "asdas" , submitted: "true" }
92
userName: $( '#index' ) . val( ) ,
93
email: $( '#email' ) . val( ) ,
94
contactSurName: $( '#contactSurName' ) . val( ) ,
95
submitted: 'true' , //$('#submitted').val(),
96
}
97
$. ajax( {
98
type: "POST" ,
99
url: "/wp-content/themes/flat-metro/page-template/front-page.php" , //my_ajax_object.ajax_url,
100
//url: "/wp-admin/admin-ajax.php",
101
//url: my_ajax_object.ajax_url,
102
//data: data, //$('form').serialize() ,
103
//'action': 'true_function',
104
data: data,
data = Object { userName: "testва" , email: "dsqwared@ukr.net" , contactSurName: "asdas" , submitted: "true" }
105
success: function( data) {
106
107
$( "#result" ) . append( data) ;
data = Object { userName: "testва" , email: "dsqwared@ukr.net" , contactSurName: "asdas" , submitted: "true" }
108
if ( data. error == 0 ) {
109
alert( 'Функция успешно завершила работу' ) ;
110
} else {
111
alert( data. submitted) ;
data = Object { userName: "testва" , email: "dsqwared@ukr.net" , contactSurName: "asdas" , submitted: "true" }
112
}
113
// document.getElementById('result').innerHTML=html;
114
// $('#result').html(data);
115
116
}
117
118
} ) ;
119
}
120
121
122
123
124
125
126
$( '.work-box .projects-slider ul' ) . responsiveSlides( {
127
nav: true ,
128
auto: true ,
129
maxwidth: '400' ,
130
timeout: 3000 ,
131
prevText: "" ,
132
nextText: "" ,
133
} ) ;
134
135
$( '.big-column .projects-slider ul' ) . responsiveSlides( {
136
nav: true ,
Pause On Caught Exceptions
Watch
data: Object
contactSurName: "asdas"
email: "dsqwared@ukr.net"
submitted: "true"
userName: "testва"
__proto__: Object
__defineGetter__: __defineGetter__( ) { [ native code] }
__defineSetter__: __defineSetter__( ) { [ native code] }
__lookupGetter__: __lookupGetter__( ) { [ native code] }
__lookupSetter__: __lookupSetter__( ) { [ native code] }
constructor: Object( ) { [ native code] }
hasOwnProperty: hasOwnProperty( ) { [ native code] }
isPrototypeOf: isPrototypeOf( ) { [ native code] }
propertyIsEnumerable: propertyIsEnumerable( ) { [ native code] }
toLocaleString: toLocaleString( ) { [ native code] }
toString: toString( ) { [ native code] }
valueOf: valueOf( ) { [ native code] }
get __proto__: __proto__( ) { [ native code] }
set __proto__: __proto__( ) { [ native code] }
difight
Отправлено: 20 Июля, 2015 - 18:36:34
Посетитель
Покинул форум
Сообщений всего: 355
Дата рег-ции: Нояб. 2011
Помог: 3 раз(а)
CODE (
javascript ):
скопировать код в буфер обмена
document.getElementById ( 'send_button' ) .onclick = function ( ) {
var data= $( this ) .parents ( "form" ) .serialize ( ) ;
$.ajax ( {
type : "POST" ,
url: "1.php" ,
data: data,
success: function ( data1) {
if ( data1.error == 0) {
alert ( 'Функция успешно завершила работу' ) ;
} else {
alert ( 'Ахтунг' ) ;
}
}
} ) ;
}
Так попробуй(Отредактировано автором: 20 Июля, 2015 - 18:36:48)
Поиск в теме | Версия для печати
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB