2013-04-22 2 views
-1

Я создал форму для размещения рекламы в отеле, и я получил ajax для поиска промо-акции, зарегистрировавшись и проверив дату. В моем рекламном списке есть кнопка отправки для бронирования.Ajax заблокировать мою форму, чтобы отправить

Когда моя загрузка страницы, я просто извлекаю список рассылки из базы данных с какой-то случайной датой, и я получил форму поиска для использования пользователями, чтобы отфильтровать рекламу с помощью ajax submit, но когда ajax trigger, кнопка бронирования не отправляется.

Пожалуйста, помогите мне. Заранее спасибо

Это код Аякса:

$("#submitform").click(function(){ 
    $.ajax({ 
    data:$("#checkpromofrm").serialize(), 
    url:'<?php echo '/'.APP_ROOT.'/promotion/checkpromotion'?>', 
    type:"POST", 
    success:function(respone){ 
    $('#hideform').html(respone); 
    } 
    }); 
    return false; 
}); 

И это моя форма поиска:

<form name="frmrate" action="" id="checkpromofrm"> 
    Check-in 
    <input type="text" id="popupDatepicker" style="width:100px;" name="txtstartdate" value="<?php $currentdate = date('d-M-Y', strtotime('1 days')); 
        echo $currentdate; 
       } 
      ?>"/> 

    Check-out: 
    <input type="text" id="elapsed" style="width:140px;text-align:left; border:none;padding-left:0px;" value="<?php $currentdate = date('d-M-Y', strtotime('2 days')); 
        echo $currentdate; 
       } 
      ?>" readonly="readonly" name="EndDateCheckRate"/> 
    <input type="submit" id="submitform" value=" Check" name="" /> 
</form> 

Это мой список продвижение:

<form action="<?php echo '/' . APP_ROOT . '/'; ?>promotion/<?php echo $newroom['h_id']?>/hotel" method="post"> 
    <tr id="songlist"> 
     <td width="100"> 
      <img src="<?php echo '/'.APP_ROOTAdmin.'/'.$newroom['r_picpath'];?>" align="left" /> 
     </td> 
     <td > 
      <p><span style="color:#1A7CBC;font-weight:bold;"> 
       <input type="hidden" name="r_cat" value="<?php echo $newroom['r_cat']; ?>" /> 
       <input type="hidden" name="brf" value="<?php $newroom['brf'] ?>" /> 
       <?php echo $newroom['r_cat'];?> Single</span> 
       <font><b> 
        <i><br /> 
         <?php if($newroom['brf']=='0') 
     { echo "Breakfast not included"; } 
     else { echo "Breakfast included";}?> 
        </i></b> 
       </font> 
      </p> 
     </td> 


     <td align="center" valign="middle"> 
      <input type="hidden" name="txthid" value="<?php echo $HoDetail['h_id']; ?>" /> 
      <input type="hidden" name="txtrid" value="<?php echo $newroom['r_id']?>" /> 
      <input type="submit" class="bookbutton red" value="Book now" onclick="return check(num);" /><br /> 
      Only <?php echo $newroom['s_room']?> rooms left 
     </td> 
    </tr> 
</form> 
+3

пост какой-то код, пожалуйста ... –

+0

извините, теперь я отправляю мой код уже – user2305803

+0

Можете ли вы объяснить проблему еще раз, я не думаю, что это ясно –

ответ

0

Во-первых, ваш сценарий jquery должен быть в любом php-файле, потому что вы используете в нем скрипт php. Таким образом, это не сработает, если вы используете для этого файл .js.

Теперь, давайте упростить и обновить Jquery скрипт для 1.9.x версии,

$(document).ready(function() {  
    $(document).on('click', '#submitform', function() { 
      var data = $('#checkpromofrm').serialize(); 
      $.post ("<?php echo '/' . APP_ROOT . '/promotion/checkpromotion'; ?>", {data:data}, function(response) { 
       // do something with response 
      }); 

      return false; 
    }); 
}) 

Здесь PHP скрипт должен быть в двойных кавычках, и PHP код, используя одинарные кавычки.

EDIT

Давайте делать некоторые тесты, использовать его один за другим.

Тест 1: тест jQuery. Предупреждение должно отображаться при загрузке страницы.

$(document).ready(function() { 
    alert("jQuery Loaded Successfully."); 
}) 

Испытание 2: Испытание образца формы. Страница не должна обновляться при нажатии #submitform. После отправки формы, обновите страницу (нажмите f5). При обновлении всплывающего окна не должно появляться сообщение «хотите повторно отправить» или подобное?

$(document).ready(function() { 
    $(document).on('click', '#submitform', function() { 
      return false; 
    }); 
}) 
+0

извините, я уже перехожу к вашему коду, но он не работает. ajax не является триггером – user2305803

+0

см. раздел редактирования. – user1995997

0

Ваш успех обратного вызова функция ссылается на элемент, который не отображается на вашем экране (по крайней мере, не с предоставленным кодом. Также вы можете захотеть убедитесь, что URL-адрес, который вы генерируете с помощью PHP, фактически указывает на действительный URL-адрес.

$("#submitform").click(function(){ 
    $.ajax({ 
    data:$("#checkpromofrm").serialize(), 
    url:'<?php echo '/'.APP_ROOT.'/promotion/checkpromotion'?>', 
    type:"POST", 
    success:function(respone){ 
     $('#hideform').html(respone); //<-- doesn't exist 
    } 
    }); 
    return false; 
}); 
+0

извините, hideform - это мой идентификатор таблицы, который я использую, содержит форму – user2305803

Смежные вопросы