He leído varias de las otras publicaciones sobre esto y todavía no voy. Tratando de mantenerlo realmente simple. Necesito validar secciones de un formulario que se ocultan/muestran en un acordeón jQuery antes del envío final. He estado usando jquery.validate.js
durante mucho tiempo y siempre y cuando valide en submit
todo está bien, pero ahora cuando intento validar con el botón click
, no funciona.necesita jquery.validate sin enviar
<script type="text/javascript">
jQuery().ready(function(){
var demo = $(".demo").accordion({
header: '.header',
event: false
});
var nextButtons = $([]);
$("h3.header", demo).each(function(index) {
nextButtons = nextButtons.add($(this)
.next()
.children(":button")
.filter(".next, .previous")
.click(function() {
demo.accordion("activate", index + ($(this).is(".next") ? 1 : -1))
}));
});
});
</script>
<script type="text/javascript">
$(".next").click(function(){
$("#test").validate({
rules: {
name: "required", // simple rule, converted to {required:true}
email: {// compound rule
required: true,
email: true
},
comment: {
required: true
}
},
message: {
comment: "Please enter a comment."
}
});
});
</script>
<div class="demo">
<form action="#" method="post" id="test">
<fieldset>
<div id="accordion">
<h3 class="header"><a href="#">Section 1</a></h3>
<div class="sec1">
<label for="name">Name:</label>
<input type="text" id="name" placeholder="Enter your
full name" class="required" />
<input type="button" class="next" value="NEXT" />
</div>
<h3 class="header"><a href="#">Section 2</a></h3>
<div class="sec2">
<label for="email">Email:</label>
<input type="email" id="email" placeholder="Enter
your email address" class="required" />
<input type="button" class="next" value="NEXT" />
<input type="button" class="previous" value="Previous"/>
</div>
<h3 class="header"><a href="#">Section 3</a></h3>
<div class="sec3">
<label for="message">Message:</label>
<textarea id="message" placeholder="What's on your
mind?" class="required"></textarea>
<input type="submit" value="Send message" />
<input type="button" class="previous" value="Previous"/>
</div>
</fieldset>
</form>
</div>
</div><!-- End demo -->
esto [POST] (http://stackoverflow.com/questions/11703955/jquery-validation-before-ajax-submit/11704059#11704059) te ayudará. –
Gracias Kundan por su respuesta. Lo siento pero no veo cómo me ayuda. No tengo ninguna publicación en mi etiqueta de formulario y no estoy buscando "(" #test "). Valide" para que sea verdadero y que algo suceda. Quiero pasar los valores de mis campos a las funciones del validador para su procesamiento/evaluación. parece que la función de clic asociada al botón con la clase de "siguiente" simplemente no está sucediendo –