2013-10-10 1 views
0

У меня есть форма с двумя экземплярами mobiscroll, один из которых появляется в зависимости от нажатой кнопки.Форма потерять значение после выбора mobiscroll

$(function(){ 
    $('#clocklater').mobiscroll().time({ 
     theme: 'default', 
     display: 'modal', 
     mode: 'scroller', 
     setText: "Save", 
     cancelText: "Cancel", 
     headerText: "Available after", 
     timeFormat: 'HHii', 
     timeWheels: 'HHii', 
     stepMinute:10 
    });  
    $('#later').click(function(){ 
     $('#clocklater').mobiscroll('show'); 
     $('[name=available]').val(2); 
     return false; 
    }); 
}); 

$(function(){ 
    $('#clockyes').mobiscroll().time({ 
     theme: 'default', 
     display: 'modal', 
     mode: 'scroller', 
     setText: "Save", 
     cancelText: "Cancel", 
     headerText: "ETA station", 
     timeFormat: 'ii', 
     timeWheels: 'ii', 
     stepMinute:5 
});  

    $('#yes').click(function(){ 
     $('#clockyes').mobiscroll('show'); 
     $('input[name=available]').val(1); 
     return true; 
    }); 
}); 

мой HTML является <form name="response" action="" method="post" > <input name="clocklater" id="clocklater" class="i-txt" type='hidden' onChange="document.response.submit();"/> <input name="clockyes" id="clockyes" class="i-txt" type='hidden' onChange="document.response.submit();"/> <div class='yes button'><input id='yes' name='available' type='button' alt="YES" value="yes" /></div> <div class='no button'><input id='no' name='available' type='button' alt="NO" value="no" /></div> <div class='later button'><input id='later' name='available' type='button' alt="later" value="later" /></div> </form>

(aarrgghh не может получить, что формат хорошо)

Когда я отправить форму без вызова mobiscroll это все работает отлично, но когда я называю mobiscroll после нажав кнопки «Да» или «Далее», значение доступно. вход не передается. Консоль не создает никаких ошибок.

Как вы можете видеть, я попытался заставить значение в зависимости от щелчка, что тоже не работает. Если я поставил предупреждение перед возвратом, это значение - это также указывает, что js не ломается.

Любые мысли о том, почему значение доступно нет?

FWIW Я обрабатываю форму с помощью PHP.

[UPDATE] Я просто сбрасывал массив POST и ключ доступен даже не в этом.

ответ

1

Значения кнопок передаются только в том случае, если форма отправлена ​​нажатием соответствующей кнопки. В вашем случае форма представлена ​​в событии onChange для входов «clocklater» или «clockyes».

Вы можете отправить его через скрытое поле или вместо отправки в событие изменения, вы можете использовать кнопку type = "submit" и вызвать кнопку щелчка мышью в onSelect.

E.g. (Для «clocklater»):

$(function(){ 
    $('#clocklater').mobiscroll().time({ 
     theme: 'default', 
     display: 'modal', 
     mode: 'scroller', 
     setText: "Save", 
     cancelText: "Cancel", 
     headerText: "Available after", 
     timeFormat: 'HHii', 
     timeWheels: 'HHii', 
     stepMinute:10, 
     onSelect: function() { 
      submit = true; 
      $('[name=available]').val(2); 
      $('#later').click(); 
     } 
    }); 

    var submit; 

    $('#later').click(function(){ 
     if (!submit) { 
      $('#clocklater').mobiscroll('show'); 
      return false; 
     } 
     submit = false; 
    }); 
}); 

HTML изменения:

<input name="clocklater" id="clocklater" class="i-txt" type='hidden' /> 

<div class='later button'> 
    <input id='later' name='available' type='submit' alt="later" value="later" /> 
</div> 
+0

Благодарности dioslaska но я упавшие в ловушку упрощения мой код, который затем не дает полную картину: P Мои кнопки на самом деле пользовательские изображения, поэтому истинный вход Steve

+0

It работает с типом = «образ», а также – dioslaska

+0

Работает с удовольствием. Извините за принятие задержки - только что получил: P – Steve