У меня есть следующие формы HTML:JQuery не представляет форму после модификации
<form action="../start_timer" class="start_timer" id="447" method="post" accept-charset="utf-8">
<input type="hidden" name="shift_id" value="447">
<input type="hidden" name="latitude" class="latitude">
<input type="hidden" name="longitude" class="longitude">
<input type="submit" value="Start">
</form>
и следующий JQuery для обработки формы submition:
$(document).ready(function() {
$("form.start_timer, .form.end_timer").submit(function(e) {
if($(this).children(".latitude").val().length === 0 || $(this).children(".longitude").val().length === 0){
e.preventDefault();
navigator.geolocation.getCurrentPosition(foundLocation, noLocation,{timeout:10000});
submits=0;
$(".longitude").change(function(e) {
if (submits==0) {
$(this).submit();
}
submits++;
});
}else if($(this).children(".latitude").val().length !== 0 && $(this).children(".longitude").val().length !== 0){
return true;
}
});
});
Вот foundLocation
фикцию, которая заполняет в скрытые поля:
function foundLocation(position){
var lat = position.coords.latitude;
var long = position.coords.longitude;
if ($(".latitude").val(lat)!="lat") {
$(".latitude").val(lat).trigger('change');
}
if ($(".longitude").val(long)!="long") {
$(".longitude").val(long).trigger('change');
}
}
Что происходит, так это то, что он останавливается в else if
и действительно не представляет форму.
Как я могу отправить его после изменения?
Любая помощь или руководство очень ценятся.
Получается ли он внутри else, если блок? – WillardSolutions
Можете ли вы показать, что делает foundLocation, я предполагаю, что он обновляет значения скрытых полей, но я хочу быть уверенным, что оператор else if может быть заменен простым другим, поскольку широта и долгота будут иметь значение при этом точка. – valarauko
Прости, это было плохо. Обновлен вопрос с помощью функции foundLocation. Он устанавливает значения в скрытые поля, а затем выполняется блок else if, но форма не отправляется. Блок else if используется в случае заполнения только одного (длинного или лат). – WpDoe