Отключить кнопку отправки в форме для определенного значения параметра

Я создал JSP, и у меня есть эта форма:

    <form action="Cinema" method="get">
    <select name="IdRoom" id="selectBox">
        <option disabled="disabled" selected> Choose a Cinema </option>         
        <c:forEach items="${listCinema}" var="singleCinema">
            <option value="${singleCinema.idSingleCinema}">${singleCinema.localName}</option>
        </c:forEach>
    </select>
    <input id="buttonSubmit" type="submit" value="Submit" />
</form>

В качестве первой строки (перед for) я добавляю значение, как здесь:

<option disabled="disabled" selected> Choose a Cinema </option> 

Когда страница загружена, если я попытаюсь нажать на кнопку, она перейдет к вызову моей службы (это не должно), но после того, как я открою раскрывающийся список, первое значение моего раскрывающегося списка отключено правильно. Мне нужно отключить кнопку «Отправить» для этой опции, когда страница загружается только для первого значения раскрывающегося списка (не для других)


person lirio oliro    schedule 15.01.2018    source источник


Ответы (1)


Добавьте прослушиватель onchange к select и добавьте атрибут disabled к кнопке отправки следующим образом:

<select name="IdRoom" id="selectBox" onchange="this.form.buttonSubmit.disabled=this.options[this.selectedIndex].value=='your-first-value'">

<input id="buttonSubmit" type="submit" value="Submit" disabled="disabled">

onchange будет срабатывать при изменении значения раскрывающегося списка. В этом случае всякий раз, когда вы выбираете значение, оно будет проверять, равно ли выбранное значение вашему первому значению. В этом случае для атрибута disabled кнопки отправки устанавливается значение true, в противном случае — значение false.

Надеюсь, поможет!!

person Varun Sharma    schedule 15.01.2018
comment
Привет, Варун, он отлично работает. У меня есть вопрос: что означает этот фрагмент кода: value=='your-first-value' Я задаю этот вопрос, потому что я не разработчик внешнего интерфейса, а разработчик внутреннего интерфейса. - person lirio oliro; 15.01.2018
comment
@liriooliro Я добавил краткое объяснение кода. - person Varun Sharma; 15.01.2018