Archief - JS: Input verplicht maken

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.

Heerschappy

Legacy Member
Bij sommige velden van mijn form is de input verplicht

hoe moet ik een msgbox laten zien wanneer ik op mijn submitknop druk zodoende dat hij toch op deze pagina blijft?


hier is de code

Code:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form name="formGegevens" id="formGegevens" method="post" action="SubmitEmail.asp">
  <table width="602" border="1">
    <tr>
      <td width="85" align="left"><p>Naam</p>
      </td>
      <td width="11" align="right">:</td>
      <td width="484"><input name="txtNaam" type="text" id="txtNaam" /></td>
    </tr>
    <tr>
      <td align="left">Straat/Nr</td>
      <td align="right">:</td>
      <td><input name="txtStraat" type="text" id="txtStraat" /></td>
    </tr>
    <tr>
      <td align="left">Plaats</td>
      <td align="right">:</td>
      <td><input name="txtPlaats" type="text" id="txtPlaats" /></td>
    </tr>
    <tr>
      <td align="left">Postcode</td>
      <td align="right">:</td>
      <td><input name="txtPostcode" type="text" id="txtPostcode" /></td>
    </tr>
    <tr>
      <td align="left">Land</td>
      <td align="right">:</td>
      <td><input name="txtLand" type="text" id="txtLand" /></td>
    </tr>
    <tr>
      <td align="left">Telefoonnr</td>
      <td align="right">:</td>
      <td><input name="txtTel" type="text" id="txtTel" /></td>
    </tr>
    <tr>
      <td align="left">Fax</td>
      <td align="right">:</td>
      <td><input name="txtFax" type="text" id="txtFax" /></td>
    </tr>
    <tr>
      <td align="left">E-mail</td>
      <td align="right">:</td>
      <td><input name="txtMail" type="text" id="txtMail" /></td>
    </tr>
    <tr>
      <td align="left" valign="top">Mededeling</td>
      <td align="right" valign="top">:</td>
      <td><textarea name="txtMededeling" id="txtMededeling"></textarea></td>
    </tr>
    <tr align="center">
      <td height="23" colspan="3"><input type="submit" name="Submit" value="Verzenden" /></td>
    </tr>
  </table>
  <p>&nbsp;</p>

</form>
</body>
</html>

tikketim

Legacy Member
ik doe dat meestal met php :
ik laat de form terug zien met een tekstje bovenaan waar instaat welke velden nog niet zijn ingevuld , natuurlijk de inhoud van de velden in een session zetten zodat niet alles terug opnieuw moet getypt worden ..

javascript alerts probeer ik te vermijden omdat ik ze zelf als bezoeker ook "ambetant" vind :)

Obliv`

Legacy Member
natuurlijk gaat da met asp

ik verwijst na het klikken op de knop normaal naar een controle pagina, en als er velden ongeldig zijn, toon ik een bericht zoals tikketim zei. Als alles correct is ingevult sla k het op in de database

ge kunt da ook dmv een functie aan de submit knop te hangen denk ik. Zo heb ik het nog wel nooit gedaan

Rombo

Legacy Member
vroeger deed ik zoiets ook met php en dan de gebruiker terugsturen naar die pagina

maar met javascript kunde het uw eigen toch veel makkelijker maken

Code:
op de submit knop: onclick="return valideerVelden();"

javascript:

function valideerVelden() {
	var fouten = "";
	var name = document.forms["form"].txtname.value;
	var content = document.forms["form"].txtcontent.value;

	if (name == "") {
	   fouten += "\n- Naam";
	}
	if (content == "") {
	   fouten += "\n- Content";
	}

	if (fouten == "") {
		return true;
	} else {
		alert("Vul de volgende velden in:" + fouten);
		return false;
	}
}

dit geeft als resultaat 1 msg box met alle velden die nog ingevuld moeten worden of die aan bepaalde criteria moeten voldoen wa ge zelf nog wel kunt inbouwen

DarkBone

Legacy Member
JavaScript kan makkelijk uitgeschakeld/omzeild worden, een volledige controle aan de server kant blijft noodzakelijk. JavaScript zorgt voor minder pagerefreshes voor de gebruiker (het is gebruiksvriendelijker) maar daardoor wordt de controle aan de kant van de webserver niet overbodig.

Dece

Legacy Member
Aangezien u topic geen prefix bevatte, kreeg u een waarschuwing onder de vorm van een usernote.
Meer info omtrend prefixen vindt u in onze regels

Heerschappy

Legacy Member
Rombo zei:
vroeger deed ik zoiets ook met php en dan de gebruiker terugsturen naar die pagina

maar met javascript kunde het uw eigen toch veel makkelijker maken

Code:
op de submit knop: onclick="return valideerVelden();"

javascript:

function valideerVelden() {
	var fouten = "";
	var name = document.forms["form"].txtname.value;
	var content = document.forms["form"].txtcontent.value;

	if (name == "") {
	   fouten += "\n- Naam";
	}
	if (content == "") {
	   fouten += "\n- Content";
	}

	if (fouten == "") {
		return true;
	} else {
		alert("Vul de volgende velden in:" + fouten);
		return false;
	}
}

dit geeft als resultaat 1 msg box met alle velden die nog ingevuld moeten worden of die aan bepaalde criteria moeten voldoen wa ge zelf nog wel kunt inbouwen


mss stomme vraag, maar waar moette ge dieje " onclick="return valideerVelden();" " zetten?
Code:
<input type="submit" name="Submit" value="Verzenden" /></td>

das de code voor de knop.

Obliv`

Legacy Member
Heerschappy zei:
mss stomme vraag, maar waar moette ge dieje " onclick="return valideerVelden();" " zetten?
Code:
<input type="submit" name="Submit" value="Verzenden" /></td>

das de code voor de knop.

<input type="submit" name="Submit" value="Verzenden" onclick="..." />
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