Проверка значений полей формы прежде, чем отправить ту страницу

Я записал следующую функцию, которая проверяет, не ли start_date поле пусто и отображает надлежащее сообщение, когда кнопка отправки нажата. Но затем это берет на себя управление к предыдущей странице. Таким образом, пользователь должен записать снова все другие поля на той форме. Есть ли любой способ остаться на той странице даже после запроса сообщения об ошибке со всем другим полевым значением.

//JavaScript
function checkform() {
    if(document.frmMr.start_date.value == "") {
        alert("please enter start_date");
        return false;
    } else {
        document.frmMr.submit();
    }
}

// HTML
<html>
    <form name=frmMr action="page1.jsp">
        Enter Start date:
        <input type="text" size="15" name="start_date" id="start_date">
        <input type="submit" name="continue" value="submit" onClick="checkform();">
    </form>
</html>

Заранее спасибо

12
задан Leonardy Kristianto 3 March 2016 в 11:21
поделиться

2 ответа

Хотя у вас есть возвращаемое значение в форме проверки, оно нигде не используется - попробуйте использовать onclick = "return checkform ()" взамен.

Вы можете подумать о замене этого метода на onsubmit = "return checkform ()" в теге формы, хотя оба будут работать для нажатия кнопки.

20
ответ дан 2 December 2019 в 05:39
поделиться

Точно не знаю, но похоже, что он все еще отправляется. Я бы быстро решил изменить ваш (угадывая ваш код здесь):

<input type="submit" value="Submit" onclick="checkform()">

на кнопку:

<input type="button" value="Submit" onclick="checkform()">

Таким образом, ваша форма все равно будет отправлена ​​(из другой части вашей контрольной формы ()), и это не должно быть перезагрузка страницы.

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

0
ответ дан 2 December 2019 в 05:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: