За последние 24 часа нас посетили 31994 программиста и 1756 роботов. Сейчас ищут 992 программиста ...

ajax (структурировал вопрос)

Тема в разделе "JavaScript и AJAX", создана пользователем Panich, 29 окт 2012.

  1. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Доброго времени суток!
    Сбился с ног ища ответ,но никто так и не смог помочь!
    Подскажите, почему при таких условиях:
    Код (Text):
    1. <form id="formcoock" action="inp_coock.php" method="post" enctype="multipart/form-data">
    2. <label for="cod">КОД С КАРТИНКИ:</label><br>
    3. <label for="cod"><img src="code/my_codegen.php"></label>
    4. <input name="code" class="text" type="text"/><br>
    5. <input id="btn_sendCoock" type="submit" value="ОТПРАВИТЬ" class=""/>
    6. </form>
    Тут не пугайтесь, это просто обработчик кода!Всё тут работает-точно проверено,но на всякий случай расположил:
    Код (Text):
    1. <?php
    2. $code = trim(addslashes(htmlspecialchars(strip_tags($_POST['code']))));
    3. if(get_magic_quotes_gpc())
    4. {
    5. $code = stripslashes($code);
    6. }
    7. function generate_code()          
    8. {            
    9. $hours = date("H");  
    10. $minuts = substr(date("H"), 0 , 1);
    11. $mouns = date("m");  
    12. $year_day = date("z");  
    13. $str = $hours . $minuts . $mouns . $year_day;
    14. $str = md5(md5($str));  
    15. $str = strrev($str);              
    16. $str = substr($str, 3, 6);          
    17. $array_mix = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);              
    18. srand ((float) microtime()*1000000); shuffle ($array_mix);
    19. return implode("", $array_mix);          
    20. }        
    21. function chec_code($code)            
    22. {          
    23.     $code = trim($code);              
    24.     $array_mix = preg_split ('//', generate_code(), -1, PREG_SPLIT_NO_EMPTY);
    25.     $m_code = preg_split ('//', $code, -1, PREG_SPLIT_NO_EMPTY);              
    26.     $result = array_intersect ($array_mix, $m_code);          
    27.     if (strlen(generate_code())!= strlen($code))          
    28.     {
    29.     return FALSE;
    30.     }          
    31.     if (sizeof($result) == sizeof($array_mix))          
    32.     {  
    33.     return TRUE;
    34.     }          
    35.     else          
    36.     {  
    37.     return FALSE;
    38.     }
    39. }            
    40. if (!chec_code($_POST['code']))
    41. {
    42. $html = 'Вы неверно ввели код с картинки!';    
    43. }  
    44. echo $html;
    45. ?>
    Вот этот код вообще ничего не выдаёт:
    Код (Text):
    1. $('#formcoock').submit(function(e){
    2. var codeVal = $('#formcoock input[name=code]').val();
    3. $.ajax({
    4.     type: 'POST',
    5.     url: 'testJSCode.php',
    6.     data: {'code':codeVal},
    7.     success: function(html){
    8.     if (html !== '')
    9.     {
    10.     $("<div id='indicator'></div>").insertAfter('#btn_sendCoock').html(html);
    11.     document.getElementById('btn_sendCoock').disabled = false;
    12.     }
    13.     else
    14.     {
    15.     $('#indicator').fadeOut(1000);
    16.     document.getElementById('btn_sendCoock').disabled = false;
    17.     }
    18.     }
    19. });
    А вот этот:
    Код (Text):
    1. $('#formcoock').submit(function(e){
    2. var codeVal = $('#formcoock input[name=code]').val();
    3. $.ajax({
    4.     type: 'POST',
    5.     url: 'testJSCode.php',
    6.     data: {'code':codeVal},
    7.     success: function(html){
    8.     if (html !== '')
    9.     {
    10.     $("<div id='indicator'></div>").insertAfter('#btn_sendCoock').html(html);
    11.     document.getElementById('btn_sendCoock').disabled = false;
    12.     }
    13.     else
    14.     {
    15.     $('#indicator').fadeOut(1000);
    16.     document.getElementById('btn_sendCoock').disabled = false;
    17.     }
    18.     }
    19. });
    20. return false;
    выдаёт сообщение сообщение об ошибке как положено, но, соответственно, заблокирована кнопка.
    Как быть?Почему в первом случае не могу добиться желаемого результата?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    многа букоф =(
     
  3. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Да куда уж меньше...
    Короче,я взял всю страницу,оставил подключаемыми только js и css, и только форму-короче ajax опять не работает - то ли лыжи не едут!
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    =) хз. делается обычно за пять минут. хз что не так у тебя, друг.
     
  5. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Да вот и я в шоке!
    Слушай,а у тебя раньше другая ава была?
     
  6. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    последние два кода отличаются только последней строкой?
    return false;
    как я понял.
    и какое сообщение то выдает, как положено?

    зачем везде document.getElementById('btn_sendCoock').disabled = false;?
    1.уберите это и посмотрите что будет
    2.раз пользуетесь jquery то через него и обращайтесь к кнопке. зачем напрямую то через js ? есть же .attr()
     
  7. Panich

    Panich Активный пользователь

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    именно!
    последнее,где присутствует return false;
    убрать эти строчки совсем или заменить обращение на attr()?
    Вообще я уже использовал данный код в другом проекте и всё замечательно работало,а тут конфликт ajax словно!Прогуглил и ничего кроме no.Conflict(); не нашёл - это не помогло!

    П.С.Предложенные Вами варианты не исправили ситуации!