Попытка очистить форму после отправки через нажатие кнопки. "Явная форма" jQuery работает в другом проекте, который я тестировал, но по какой-то причине он не работает здесь. Обе функции .validateEngine
и .LocalStorage.save
срабатывают и работают нормально. Любое понимание было бы оценено.
function clicked (e)
{
if (confirm('Are you sure you want to submit?'))
{
if ($("#formID").validationEngine('validate'))
{
my.LocalStorage.save();
//clear form
var $form = $("#form");
$form.find('input:text, input:password, input:file, select, textarea').val('');
$form.find('input:radio, input:checkbox')
.removeAttr('checked').removeAttr('selected');
}
}
e.preventDefault();
}
HTML
<form id="formID" name="myForm">
<input class="validate[required]" type="text" id="agree" name="agree"/>
<button type="submit" value="Save" id="Save" onclick="clicked(event);">Submit Survey</button>
</form>
У вас неправильный идентификатор формы. Изменить:
var $form = $("#form");
чтобы:
var $form = $("#formID");
Кроме того, чтобы сохранить выбор одной и той же формы дважды, было бы целесообразно перенести объявление этой переменной в первую строку внутри if(confirm(...){
, например:
function clicked (e) {
if (confirm('Are you sure you want to submit?')) {
var $form = $("#formID");
if ($form.validationEngine('validate')) {
my.LocalStorage.save();
//clear form
$form.find('input:text, input:password, input:file, select, textarea').val('');
$form.find('input:radio, input:checkbox')
.removeAttr('checked').removeAttr('selected');
}
}
e.preventDefault();
}
call $("#formID").reset();
Это стандартный вызов в jquery для сброса формы.