Archief - Door form inputs loopen met jQuery.

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Bram

Legacy Member
Hello

Ik heb een formuliertje dat ik via ajax wil verzenden. Om een eerste vorm van validatie te doen wil ik vlug even testen of alle inputs toch wel zijn ingevuld.

Ik dacht volgende code te gebruiken:

Code:
var btnSubmit = $('#submit-user');

btnSubmit.click(function() {
	
	var form = $(this).parents('form');
	
	form.find('input').each(function() {
		if($(this).val() = "") {
			alert('Please fill out all fields');
			return false;
		}
	});
	
	var datastring = form.serialize();
	// ajax
	
	return false;
});

});
Maar om een of andere reden werkt die form.find('input') niet. Het werkt enkel als ik rechtstreeks $('input') gebruik... Zelfs $('form input') werkt niet.

Iemand een idee waarom ie lastig doet?

Zero Grav

Legacy Member
Code:
$("document").ready( init );

function init() {
	var btnSubmit = $("form input[type=submit]");
	//console.log(btnSubmit.val());
	
	btnSubmit.click( valideerForm );
}

function valideerForm( e ) {
	verzenden = true;
	var form = $(this).parents('form');
	
	form.find('input').each(function() {
		if($.trim($(this).val()) == "") {
			verzenden = false;		
		}
	});
	
	if(!verzenden) {
		alert("U moet alle velden invullen");
	} else {
		var datastring = form.serialize();
		// ajax
	}
	
	return false;
}

Man man, ik was mijn document ready vergeten en maar vloeken dat mijn code dus niks deed. 't Was weer eens 2 maanden geleden. :/

Bram

Legacy Member
uw code maakt geen verschil :( die find blijft falen.

oké, problem solved. thad te maken met het feit dat m'n html code nie valid was. Ik gebruik een table en had daar het form zo maar in geplakt, maar zonder op open en sluit tags te letten.

Bram

Legacy Member
mijn html :p
Code:
<form action="<?php echo uri_string(); ?>" method="post" id="new-user">
<table border="0">
	<tr>
	</tr>
	<tr>
		<th>Username</th>
		<th>E-mail</th>
		<th>Usergroup</th>
		<th>Password</th>
		<th>Repeat password</th>
		<th>Submit</th>
	</tr>
	<tr class="even">
		<td><input type="text" name="username" /></td>
		<td><input type="text" name="email" /></td>
		<td><select name="usergroup_id"><?php 
		foreach($usergroups as $usergroup) { 
			echo '<option value="'.$usergroup['id'].'">'.$usergroup['name'].'</option>'; 
		}
		?></select></td>
		<td><input type="password" name="password" /></td>
		<td><input type="password" name="password_check" /></td>
		<td><input type="submit" name="subm_new_user" value="Add" id="submit-user" /></td>
	</tr>
</table>
</form>

Zero Grav

Legacy Member
't Zou eens tijd worden om over te schakelen op labels en wat meer css-support hé. :p
Maja, 'k had die post dus geplaatst voor dat ik uw edit gezien had, niet echt meer relevant dus.

Bram

Legacy Member
gohja, kzou wel willen, maar ik weet gewoon niet goed hoe ik een tabel moet maken met css... labels worden er mss later nog wel ingeplakt mss.

Tis met tables omdat da formulier onderaan een tabel met bestaande gebruikers wordt geplakt.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan