У меня есть 3 кнопки и 1 форма. 1-я кнопка - новая кнопка. Кнопка, которую я хочу добавить. Когда я нажимаю на эту новую кнопку, я хочу, чтобы jQuery нажал следующую кнопку: 2-я кнопка: Сохранить - при нажатии этой кнопки необходимо добавить функцию:
if($("#email").val().trim().length>0 && $("#customer_firstname").val().trim().length>0 && $("#customer_lastname").val().trim().length>0 ) {
если это верно - форма успешно сохраняется. jQuery нужно нажать на третью кнопку (если это неверно, остановитесь здесь. Другие js покажут ошибки в форме): 3-я кнопка: Отправить заказ - после нажатия на нее ничего не нужно. Другие js сделают все остальное.
Другим способом будет использование кнопки "сохранить", и если это действительно так, нажмите "отправить кнопку" - может быть, это больше - решение?
<p class="orderbutton">
<input type="submit" class="order-button-opc" id="order-button" value="Order Button">
</p>
<p class="submit">
<input type="submit" class="exclusive button" name="submitAccount" id="submitAccount" value="{l s='Save'}" />
</p>
<p class="cart_navigation" id="cart_navigation">
<input type="submit" value="I confirm my order" class="extraorderbutton">
</p>
Я пробую это:
<script>
$(document).ready(function () {
var firstFormValid = false;
var isFormValid = false;
$('#order-button').click(function(){
if(anycondition)
firstFormValid = true;
});
$("#submitGuestAccount").click(function () {
if(firstFormValid ) {
if($("#email").val().trim().length>0 &&$("#customer_firstname").val().trim().length>0 && $("#customer_lastname").val().trim().length>0 ) {
isFormValid = true;
} else isFormValid = false;
} else firstFormValid =false;
});
$("#order-button").click(function () {
if(isValid && firstFormValid)
$('#order-button').submit()
});
});
</script>
Но я получаю ошибку:
Вместо того, чтобы просто отлаживать/бросать какой-то код на вас, вы можете приблизиться к этому лучше, работая над каждой из областей отдельно, вероятно, поможет в этом и в будущем?
Сказать,
1) Объявлять элементы/селектора
var _inputemail = $("#email"),
_inputfirstname =$("#customer_firstname"),
_inputlastname = $("#customer_lastname"),
_button_check = $("#checkbutton"),
_button_send = $("#sendbutton"); /* hidden initially in css */
2) Создать функцию проверки
function isValid() {
var is=false;
/* add in the checks */
if(_inputemail.val().length>0) { is=true; }
/* return true or false */
return is;
}
3) функция "проверить"
function checkForm() {
/* use the validate function */
if(isValid()) {
/* show the 'save' button */
_button_send.show();
}
}
4) сформировать функцию "отправить"
function sendForm() {
/* sendform here */
if(isValid()) {
/* we could run the validate again if we like */
}
}
5) Обработчики событий
_button_check.on("click", checkForm);
_button_send.on("click", sendForm);
/* now we have separate functions we can check/send
the form from other events too
eg. Checking as we type */
_inputlastname.on("keyup",checkForm);
В настоящее время есть несколько компонентов для повторного использования/простого управления
будут некоторые вещи, чтобы сортировать в этом коде, но надежда помогает в чем-то! (?)
Использовать эту надежду поможет.
$(document).ready(function () {
var firstFormValid = false;
var isFormValid = false;
$('#newbutton').click(function(){
if(anycondition)
firstFormValid = true;
});
$("#savebutton").click(function () {
if(firstFormValid ) {
if($("#email").val().trim().length>0 &&$("#customer_firstname").val().trim().length>0 && $("#customer_lastname").val().trim().length>0 ) {
isFormValid = true;
} else isFormValid = false;
} else firstFormValid =false;
});
$("#sendbutton").click(function () {
if(isValid && firstFormValid)
$('#FORMID').submit()
});
});
isValid
чтобы сделать улучшения, зная, что все другие части остаются неизменными. Обязательно, если вы работаете в команде.