Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2012, 16:49   #1
zalza
Пользователь
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию Выполнение php кода в javascritp

Здравствуйте. Есть кнопка, есть onClick javascript:
Код:
<div class="AddTaskButton">
	            <input type="image" src="AddTaskButton.png" name="AddTask" id="AddTask" style="height:28px; width:104px;"/>
                <script>
                    $(document).ready(function()
                    {
                        $('#AddTask').click(function()
                        {
                            $.ajax(
                            {
                                url: "tasks.php",  
                                cache: false,
                                success: function(html)
                                {
                                    $("#content").html(html);
                                }
                            });
                        });
                    });
                </script>
            </div>
Который должен бы по идее выполнять следующий php код (запись в бд с текстового поля + текст данного поля добавляется в итемы combobox'a):
Код:
<?
    include ('connect.php');
    if (empty($_SESSION['login']) or empty($_SESSION['id']))
    {
        //exit();
    }
    else
    {
        if (isset($_POST['TextField1']))
        {
            $task_name = $_POST['TextField1'];
        }
        else
        {
            $task_name = '';
        }
        $login = $_SESSION['login'];
        $result = mysql_query("SELECT * FROM users WHERE login='$login'",$db);
        $myrow = mysql_fetch_array($result);
        $user_id = $myrow['id'];
        mysql_query("INSERT INTO tasks (name, user_id) VALUES ('$task_name', '$user_id')");
        //Adding new task to combobox items//
        $relult1 = mysql_query("SELECT tasks.name FROM tasks WHERE tasks.user_id = '$user_id'", $db);
        $i = 0;
        while ($doc = mysql_fetch_row($relult1))
        {
            echo "<option value='".$i."'>".$doc[1]."</option>";
            $i++;
        }
    }
?>
Вот только проблема в том, что данный js выполняет загрузку моего php-кода в блок с id = "content" (у меня его нету).
Код:
success: function(html)
{
     $("#content").html(html);
}
А мне бы просто выполнить его. Как это сделать?

Последний раз редактировалось zalza; 25.11.2012 в 16:54. Причина: Дополнение
zalza вне форума Ответить с цитированием
Старый 25.11.2012, 16:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
                                success: function(html)
                                {
                                    return;
                                }
Подходит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2012, 16:57   #3
zalza
Пользователь
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию

Думаю подходит, но в бд не записывает почему то.
Может ли быть этому причиной то, что я использую не <input type=text> а:
Код:
<div class="AddTaskTextField">
                <input type="search" placeholder="Start typing here to create a task..." name="TextField1 "id="TextField1" tabindex="1"
                style="height:29px; width:528px; background-color:#FFF;"/>
                <select name="ComboBox" id="ComboBox" style="position:absolute; top:-45px; width:100px; background-color:#FFF;">
                </select>
            </div>

Последний раз редактировалось zalza; 25.11.2012 в 17:00.
zalza вне форума Ответить с цитированием
Старый 25.11.2012, 17:33   #4
zalza
Пользователь
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию

Заменил
Код:
input type="search">
на
Код:
<input type="text">
+ убрал placeholder.
Дописал в конце tasks.php строку
Код:
unset($_POST['TextField1']);
для очистки поля ввода. После ввода текста в поле и нажатия кнопки оно не очищается. Так что ошибка не в коде записи в бд.
Видимо до выполнения php кода мой js не доходит. Есть у кого идеи по этому поводу?
zalza вне форума Ответить с цитированием
Старый 25.11.2012, 18:28   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Видимо до выполнения php кода мой js не доходит.
А ты пропиши в ПХП проверку на приход этого - 'login' и 'id'
И если они пустые возвращай скрипту алерт типа: 'Error-Пустые идентификаторы'
А в скрипте так:
Код:
                                success: function(html)
                                {
var a=html.substring(0,6);                                  
if(a=='Error-') alert(html);
return;
                                }
Т.е. твой пыхпых должен общаться с клиентом даже в случае ошибки. Не стесняйся, не обязательно оставлять запрос без ответа
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2012, 19:02   #6
zalza
Пользователь
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию

Я уже запутался. Если я Вас правильно понял то мне нужно просто вывести какое-нибудь сообщение если выполняется условие?
Код:
if (empty($_SESSION['login']) or empty($_SESSION['id']))
Хотя зачем, ведь я и так знаю что не выполняется, ведь я логинюсь, стартует сессия с этими ид и логином. И таймаута у нее нету, она будет открыта до закрытия браузера.
Может есть способ обойтись вообще без js? На прямую через php.
zalza вне форума Ответить с цитированием
Старый 25.11.2012, 19:09   #7
zalza
Пользователь
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию

И даже сделав такую проверку, сервер всеравно ничем не отвечает.
zalza вне форума Ответить с цитированием
Старый 25.11.2012, 19:19   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
сервер всеравно ничем не отвечает.
Телепатов тут нет. Проверяй код.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение кода по адресу pufystyj Общие вопросы C/C++ 2 08.09.2012 20:47
Странное выполнение кода. Taler Общие вопросы C/C++ 15 04.04.2012 15:18
Выполнение PHP кода Sprat PHP 1 31.01.2012 15:12
Парсер, выполнение кода. zumm Общие вопросы Delphi 27 30.06.2010 13:29
Выполнение кода из файла.. NSvirus Паскаль, Turbo Pascal, PascalABC.NET 25 14.06.2009 00:56