С Новым годом! Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
13 / 13 / 3
Регистрация: 31.03.2013
Сообщений: 287

Отправка формы с php через AJAX

20.07.2013, 11:30. Показов 3290. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем у меня есть php файл. В него надо передать данные через форму и выполнить его так, что бы страница не обновлялась...
делаю так:
HTML5
1
2
3
4
5
6
<form method="post" id="form">
    <input name="poles" value="[xfvalue_site]">
    
        <input type="submit" id="submitData" name="submitData" value="Button33" />
    </form>     
    {include file="http://sile.ru/include.php"}
а в файле include.php принимаю вот так
PHP
1
2
3
if($_POST)
    {
$dle = $_POST["poles"];
Вот как мне это сделать без обновления страницы, я понимаю что AJAX, но что то примеры все какие то непонятные и не с тем как у меня((( Помогите пожалуйста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.07.2013, 11:30
Ответы с готовыми решениями:

Отправка данных с формы через ajax
Всем привет) У меня появились сразу 2 проблемы (вроде всё верно написано, но не работает). В общем вот у меня есть вот 1 форма ...

Отправка изображения через ajax в php
Здравствуйте! Несколько часов пытаюсь передать изображение на сервер через ajax и ничего не получается. Обычные переменные загружаются и...

Ajax отправка формы
Помогите решит проблемку отправки письма, при нажатии кнопки отправить ничего не происходит... &lt;form...

16
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
20.07.2013, 12:14
JavaScript
1
var data = $('#form').serialize();
и отправляете данные в аяксе
0
13 / 13 / 3
Регистрация: 31.03.2013
Сообщений: 287
20.07.2013, 12:21  [ТС]
Вы не могли бы расширить свой ответ, как я понимаю то что мне нужно занимает всего строчек 10, Если вам не сильно лень напишите как должно быть. Я вчера целый день искал решение одной задачи,сегодня уже 4 часа ищу решение второй задачи.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.07.2013, 12:28
Цитата Сообщение от ychelovek Посмотреть сообщение
Я вчера целый день искал решение одной задачи,сегодня уже 4 часа ищу решение второй задачи
и ни разу не заглянули в раздел jquery ? Сохранение данных при нажатии на кнопку
0
13 / 13 / 3
Регистрация: 31.03.2013
Сообщений: 287
20.07.2013, 13:00  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
и ни разу не заглянули в раздел jquery ? Сохранение данных при нажатии на кнопку
Спасибо! Сейчас попробую, если что то не получится напишу в теме в этой

Добавлено через 28 минут
Вот смотрите пробую так:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script type="text/javascript" language="javascript">
$(document).ready(function() {
    $('#onli').click(function() {
            $.ajax({
                    type: 'POST',
                    url: 'http://site.ru/include.php',
                    data:({ddd:1}),
                    success: function(data){
                        
                        $('#counter').html(data); // выводим то, что возвращает php в блок
                            }
                });
        });     
});
</script>
 
<form method="post">
 <input type="button" name="print" value="Жми" id="onli">
 <input name="poles" value="[xfvalue_site]">
 <div id="counter"></div>    
    </form>




файл include.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
    
if(isset($_POST["ddd"])){     
 
$dle = $_POST["poles"];
echo $dle.'privet';
//ТУТ ОН ВЫДАЕТ ТОЛЬКО privet что означает что из блока poles данные не получены
 
if ($dle[strlen($dle)-1]==$slash) {
$dle = substr($dle, 0, strlen($dle)-1);
}
 
/*echo substr_replace($str, '.', strrpos($str, ','));*/
 
@$fp = fopen($dle.'/online.txt', 'r');
if (!$fp) {
    echo 'N/A';
    
   
}
else
{
$str = file_get_contents($dle.'/online.txt');
 
 
 $i = -1;
    $tmp = $max = 0;
    while( isset($str[++$i]) )
    {
        if( is_numeric($str[$i]) )
        {
            while( is_numeric($str[$i]) )
            {
                $tmp *= 10;
                $tmp += $str[$i++];
            }
        }
        $max = $max > $tmp ? $max : $tmp;
        $tmp = 0;
    }
   $str= $max ;
if ($max>10000 || $max==0)
{
echo 'N/A';
}
else
{
   echo  $str;
}
}
}
?>
в результате после нажатия на кнопку он выдает только
privet
N/A

Файл не принимает [xfvalue_site] и как мне показалось, пхп он выполняет не после клика, а сразу при загрузке страницы (потому что при нажатии на кнопку в туже секунду выдает результат), а вот показывает результат только после нажатия на кнопку, а мне надо именно выполнять файл include.php после нажатия!!!

В чем я допускаю ошибку? Помогите пожалуйста
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.07.2013, 13:20
Цитата Сообщение от ychelovek Посмотреть сообщение
//ТУТ ОН ВЫДАЕТ ТОЛЬКО privet что означает что из блока poles данные не получены
а что он еще должен выдавать? Вы и не передаете это значение, вы передаете только $_POST['ddd']
Цитата Сообщение от ychelovek Посмотреть сообщение
JavaScript
1
data:({ddd:1})
Добавлено через 1 минуту
не надо лепить собаки. У вас что, на продакшне уже скрипт? Зачем вы при разработке скрываете ошибки?
в начале php-кода
PHP
1
2
error_reporting(-1);
ini_set('display_errors', 'On');
0
13 / 13 / 3
Регистрация: 31.03.2013
Сообщений: 287
20.07.2013, 13:21  [ТС]
я и не знал как их отобразить эти ошибки....
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.07.2013, 13:25
http://www.php.net/RU/language... ontrol.php

Добавлено через 22 секунды
FAQ по распространенным ошибкам
0
13 / 13 / 3
Регистрация: 31.03.2013
Сообщений: 287
20.07.2013, 13:36  [ТС]
Вы не могли бы изсправить ошибку и все? это просто единственное что мне осталось((
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.07.2013, 13:53
А почему вы сами не хотите хотя бы попытаться?
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type="text/javascript" language="javascript">
$(function() {
    $('#onli').click(function() {
        $.post( './include.php', {'pole': $('#pole').val()}, function(data){
            $('#counter').html(data) // выводим то, что возвращает php в блок
        })
    })
})
</script>
 
<form method="post">
  <input type="button" name="print" value="Жми" id="onli">
  <input name="poles" value="[xfvalue_site]" id="pole">
</form>
<div id="counter"></div>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
 
error_reporting(-1);
ini_set('display_errors', 'On');
 
if(isset($_POST['pole'])) {     
 
$dle = $_POST['pole'];
echo htmlspecialchars($dle.'privet');
 
/*if ($dle[strlen($dle)-1]==$slash) { //Откуда берется $slash !?
$dle = substr($dle, 0, strlen($dle)-1);
}
 */
/*echo substr_replace($str, '.', strrpos($str, ','));*/
 
$fp = fopen($dle.'/online.txt', 'r');
if (!$fp) {
    echo 'N/A';
    
   
}
    else
    {
        $str = file_get_contents($dle.'/online.txt');
 
 
        $i = -1;
        $tmp = $max = 0;
        while( isset($str[++$i]) )
        {
            if( is_numeric($str[$i]) )
            {
                while( is_numeric($str[$i]) )
                {
                    $tmp *= 10;
                    $tmp += $str[$i++];
                }
            }
            $max = $max > $tmp ? $max : $tmp;
            $tmp = 0;
        }
 
        echo ($max>10000 || $max==0) ? 'N/A' : $max;
    }
}
Добавлено через 1 минуту
Цитата Сообщение от ychelovek Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$i = -1;
* * $tmp = $max = 0;
* * while( isset($str[++$i]) )
* * {
* * * * if( is_numeric($str[$i]) )
* * * * {
* * * * * * while( is_numeric($str[$i]) )
* * * * * * {
* * * * * * * * $tmp *= 10;
* * * * * * * * $tmp += $str[$i++];
* * * * * * }
* * * * }
* * * * $max = $max > $tmp ? $max : $tmp;
* * * * $tmp = 0;
* * }
какой знакомый код, однако..
0
13 / 13 / 3
Регистрация: 31.03.2013
Сообщений: 287
20.07.2013, 14:37  [ТС]
Я чесно пытаюсь сижу. уже как толкьо не пробывал, по вашему форуму кучу примеров, но не выходит

Добавлено через 13 минут
Да король код твой просто отлично работает)

Добавлено через 16 минут
Король зачем ты почистил, ты же код давал, я есть ходил даже посмотреть не успел(
0
20.07.2013, 14:45

Не по теме:

ничего я не чистил. Это вторая страница темы, код на первой.

0
13 / 13 / 3
Регистрация: 31.03.2013
Сообщений: 287
20.07.2013, 15:08  [ТС]

Не по теме:

:wall:Что то я затупил....



Добавлено через 21 минуту
вы наверно меня не поняли. В дополнительном поле хранится ссылка, но она может быть как http://site.ru так и http://site.ru/ поэтому и надо обрезать слеш
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
20.07.2013, 15:12
Это вы не поняли. Хотите обрезать слэш - либо замените $slash на '/', либо объявите переменную $slash.
0
13 / 13 / 3
Регистрация: 31.03.2013
Сообщений: 287
20.07.2013, 23:50  [ТС]
Король возникла проблема. В общем DLE же новостной движок, и у меня 10 новостей на страницу. Так вот. При использовании скрипта используется ID и оно получается одинаковое у всех новостей.

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 <script type="text/javascript" language="javascript">
$(function() {
    $('#{news-id}').click(function() {
        $.post( 'http://l2argument.ru/proba.php', {'pole': $('#pole').val()}, function(data){
            $('#counter').html(data) // выводим то, что возвращает php в блок
        })
    })
})
</script>
               
<div id="{news-id}s"><form method="post">
    <input style="width:250px;" type="button" onclick="getElementById('{news-id}s').style.display='none';" name="print" value="Онлайн" id="{news-id}">
    <input name="poles" style="display:none;" value="[xfvalue_site]" id="pole">
    </form>
Как видно, у 2х блоков я просто сделал id={news-id} id={news-id}s
где news-id - ид новости (считайте оно всегда разное)
Но как мне быть с id="pole" оно же у меня в пхп файле прописано if(isset($_POST['pole'])). Надеюсь объяснил хорошо

 Комментарий модератора 
используйте теги оформления кода


Добавлено через 43 минуты

Не по теме:

Извините буду следить за этим



Добавлено через 38 минут
Никак не получается. пробывал счетчик сделать (от 1 до 10) и менять так но оно так нельзя

Добавлено через 5 часов 24 минуты
АП. Ребята ну помогите найти решение

Добавлено через 1 час 7 минут
Подскажите пожалуйста.
JavaScript
1
2
3
4
5
6
7
8
9
<script type="text/javascript" language="javascript">
$(function() {
    $('#{news-id}').click(function() {
        $.post( 'http://l2argument.ru/proba.php', {'pole': $('#pole').val()}, function(data){
            $('#counter').html(data) // выводим то, что возвращает php в блок
        })
    })
})
</script>
Как мне выполнить данный JS скрипт, и что бы там еще при клике записывало [xfvalue_site] в текстовый файл site.txt
Тогда я смогу после передачи в файл выполнять скрипт пхп по дополнительному полю...

Добавлено через 5 минут
Только нужно что бы в файл не Дописывал а перезаписывал текстовый файл с новым значением
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
21.07.2013, 02:51
Цитата Сообщение от ychelovek Посмотреть сообщение
HTML5
1
id="pole"
HTML5
1
class="pole"
Цитата Сообщение от ychelovek Посмотреть сообщение
JavaScript
1
{'pole': $('#pole').val()}
JavaScript
1
{'pole': $(this).children('.pole').val()}
1
13 / 13 / 3
Регистрация: 31.03.2013
Сообщений: 287
21.07.2013, 11:46  [ТС]
Не работает. Погуглив я нашел еще find, но с ним у меня тоже ничего не вышо.

Добавлено через 14 минут
{'pole': $(this).find('.pole').attr("value")()}
{'pole': $(this).children('.pole').attr("value")( )}
{'pole': $(this).children('.pole').val()}
от всех этих строк толку никакого(((

Добавлено через 1 минуту
я посомтрел что еще применяют $("div").children(".selected") напрямую обращаясь к div'у но, даже добавив в форму div с таким велью как у инпута у меня ничего не получилось

Добавлено через 16 минут
Еееее.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript" language="javascript">
$(function() {
    $('#onli').click(function() {
        $.post( 'http://l2argument.ru/proba.php', 
        //  {'pole': $(this).children('.pole').val()} 
               {'pole':  $('#formonline').find('.pole').val()} 
               //  {'pole': $('#pole').val()}
              
               , function(data){
            $('#counter').html(data) // выводим то, что возвращает php в блок
        })
    })
})
</script>


HTML5
1
2
3
4
5
<div id="formonline"><form method="post">
  <input type="button" onclick="getElementById('formonline').style.display='none';" name="print" value="Жмите" id="onli">
    <div id="[xfvalue_site]"><input name="poles" value="[xfvalue_site]" class="pole"></div>
    </form></div>
<div id="counter"></div>
Оно рабоатет (Ну вроде как)
Спасибо большое король!!!

Добавлено через 32 минуты
Ой я не тот код скопировал

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript" language="javascript">
$(function() {
    $('#{news-id}').click(function() {
        $.post( 'http://l2argument.ru/proba.php', 
        //  {'pole': $(this).children('.pole').val()} 
               {'pole':  $('#{news-id}s').find('.pole').val()} 
               //  {'pole': $('#pole').val()}
              
               , function(data){
            $('#{news-id}as').html(data) // выводим то, что возвращает php в блок
        })
    })
})
</script>
HTML5
1
2
3
4
5
<div id="{news-id}s"><form method="post">
  <input type="button" onclick="getElementById('{news-id}s').style.display='none';" name="print" value="Жмите" id="{news-id}">
    <input name="poles" value="[xfvalue_site]" class="pole">
    </form></div>
                <div id="{news-id}as"></div>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.07.2013, 11:46
Помогаю со студенческими работами здесь

AJAX отправка формы
Собственно на локальной машине код отрабатывает без ошибок, а на хостинге выдает ошибку

Ajax отправка формы
Уже голову сломал, почему не происходит отправка формы! index.html: &lt;!doctype html&gt; &lt;html&gt; &lt;head&gt; &lt;meta...

AJAX отправка формы
Есть форма отправки письма админу. Делаю сабмит с помощью AJAX. Разметка формы &lt;form method=&quot;post&quot;...

Отправка формы Ajax
Прошу помощи. Есть обработчик форм с валидацией, как правильно его переписать без валидации ( убрать валидацию) собственно сам код: ...

Ajax загрузка формы из загруженного через ajax блока
Вообщем, через ajax в блок подгружается форма, из нее нужно загрузить в этот же блок др.контент. $('#form').submit(function(e){ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru