Когда я отправляю эту форму, значения просто исчезает из текстовых полей. Мне нравится, когда они остаются распечатанными в текстовых полях. Как я делаю это?
<form id="myform" method="get" action="" onSubmit="hello();">
<input id="hour" type="text" name="hour" style="width:30px; text-align:center;" /> :
<input id="minute" type="text" name="minute" style="width:30px; text-align:center;" />
<br/>
<input type="submit" value="Validate!" />
</form>
<style type="text/css">
.error {
color: red;
font: 10pt verdana;
padding-left: 10px
}
</style>
<script type="text/javascript">
function hello(){
var hour = $("#hour").html();
alert(hour);
}
$(function() {
// validate contact form on keyup and submit
$("#myform").validate({
//set the rules for the fild names
rules: {
hour: {
required: true,
minlength: 1,
maxlength: 2,
range:[0,23]
},
minute: {
required: true,
minlength: 1,
maxlength: 2,
range:[0,60]
},
},
//set messages to appear inline
messages: {
hour: "Please enter a valid hour",
minute: "Please enter a valid minute"
}
});
});
</script>
Когда вы отправляете форму, вся страница заменяется ответом с сервера. Если вы хотите оставаться на странице (а не заменять ее ответом), вы можете использовать jQuery.post
или jQuery.ajax
для отправки данных формы в сервер, а не фактическая отправка формы.
Вы можете использовать файлы cookie из JavaScript для хранения значений. Обычно вы получаете доступ к чему-то под названием document.cookie
.
Как только вы отправляете страницу, данные отправляются на сервер и загружается новая страница. В вашем случае это та же страница, что и раньше, но для браузера это не имеет значения. Чтобы сохранить значения, вы должны заполнить значения на сервере во время рендеринга страницы.
Обычно вы можете просто скопировать данные из параметров HTML-запроса в поля.