2013-10-24 3 views
0

У меня есть этот опрос, который хранится в локальном хранилище. Пользователю будет предложено «вы уверены», как только нажмите «Отправить». Я пытаюсь перейти к странице подтверждения подтверждения (Confirmation.html) в моем каталоге после того, как пользователь нажимает «ОК». Но я не могу достигнуть значений , сохраняя значения и , проводя для работы. Кажется, может получиться только один. Любая помощь будет оценена по достоинству.Перемещение по HTML-странице в javascript

function clicked() { 
    if (confirm('Are you sure you want to submit? You will not be able to go back.')) { 
     form.submit(); 

    } else { 
     return false; 
    } 
} 

$('form').submit(function() { 
    var person = $("#FirstName").val() + "." + $('#LastName').val(); 
    $('input, select, textarea').each(function() { 
     var value = $(this).val(), 
      name = $(this).attr('name'); 
     localStorage[person + "." + name] = value; 
     window.location.href = "Confirmation.html"; 
     console.log('stored key: ' + name + ' stored value: ' + value); 
    }); 
}); 
<button type="submit" value="Save" id="Save" onclick="clicked();" >Submit Form</button> 

Если выше не показывает мою проблему, здесь все в jsfiddle

+0

Я переместил window.location.href = "Confirmation.html" на функцию clicked(), но все еще не работает полностью. – user1

+0

Вам необходимо отправить AJAX данные формы. Затем переадресовывайтесь на нужную страницу. –

+0

@rajesh но как? – user1

ответ

0

попробовать этот

<script> 
$(document).ready(function() { 
$('#Save').click(function (e) { 
if (confirm('Are you sure you want to submit? You will not be able to go back.')) { 
    var person = $("#FirstName").val() + "." + $('#LastName').val(); 
    $('input, select, textarea').each(function() { 
     var value = $(this).val(), 
      name = $(this).attr('name'); 
     localStorage[person + "." + name] = value; 
     window.location.href = "Confirmation.html"; 
     console.log('stored key: ' + name + ' stored value: ' + value); 
    }); 

    } 
}); 
}); 
</script> 

и удалить onclick="clicked();" от кнопки.

+0

Он будет перемещаться, если ничего не заполнено (пропуская также обязательные поля в моем HTML-файле). заполнение полей отправляется на локальное хранилище, но не на странице подтверждения :(спасибо, хотя – user1

+0

Кажется, что когда я заполняю все обязательные поля, он по-прежнему сохраняется локально, но не работает. Он отлично работает, если некоторые из обязательных полей остаются пустыми. конечно, это означает, что требуемые поля не заставляют вас заполнять их в – user1

0

Я не уверен, зачем вам нужен confirm.html. Рассмотрите мои мнения следующим образом:

1st: Вы уже запрашиваете у пользователя подтверждение, предоставляя ему сообщение. После этого вы должны только отправить данные формы (после любой дополнительной проверки) на серверную страницу (что, я считаю, вы указали в action значение form).

второй: Если вы все еще нуждаются в confirmation.html страницу, то вы должны перенаправить confirmation.html из этого на стороне сервера страницы но не со своей страницы формы (текущая страница). Теперь это зависит от использования confirm.html, что вы должны перенаправить на confirm.html до/после подачи данных формы в базу данных (или что-то еще).

+0

. Это данные - это все локальное хранилище, если это имеет значение. Планировалось использовать страницу подтверждения как страницу «ловушки», чтобы не допустить возврата пользователя и повторной отправки. – user1

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