16 svar
113 visningar
Shali_47 263
Postad: 8 jul 2023 15:01 Redigerad: 8 jul 2023 15:02

Validering

Hej kan ni påpeka varför min funktion inte rör som det tillverkads Tack?

function validateForm(){
		var name = document.getElementById('name').value;
		var number = document.getElementById('number').value;
		var email = document.getElementById('email').value;
		var adress = document.getElementById('adress').value;
		var city = document.getElementById('city').value;
		var state = document.getElementById(state).value;
		var zip = document.getElementById('zip').value;

	if(name === '' || number === '' || email === '' || adress === '' || state === '' || city ==== '' || zip === '' ){


		alert('Please provide all the sections thanks!');

			return false;

		}else{
			return true;
		}
	}
Yngve 37995 – Livehjälpare
Postad: 8 jul 2023 15:35 Redigerad: 8 jul 2023 15:38

Jag kan inte JavaScript, men sen här satsen ser skum ut. Variabeln state har väl ett okänt värde vid anropet av getElementById?

Shali_47 263
Postad: 8 jul 2023 15:57

bra att du sagt det men ändå saknar den att funka!

Yngve 37995 – Livehjälpare
Postad: 8 jul 2023 17:12 Redigerad: 8 jul 2023 17:20

Jag kan inte uttala mig om syntaxen, men vad händer när du kör funktionen?

Lägg gärna in spårutskrifter i koden, t.ex att du skriver ut värdet av name, number, email o.s.v. innan du gör jämförelsen.

 

CurtJ 1159
Postad: 9 jul 2023 10:53

Jag tror också det hjälper om du visar HTML-koden. 

Shali_47 263
Postad: 9 jul 2023 11:05 Redigerad: 9 jul 2023 11:06
<div id="Hiding">
	<div class="signUp">
		<form onsubmit="return validateForm()">
		<fieldset>
		<legend>Personal Info</legend>
		<label for="name">
		<div class="name">
		<i class="fa-solid fa-user"></i>
		<p>Full Name</p>
		</div>
		<input type="text" name="name" id="name" placeholder="SomeOne..">
		</label>
		<label for="number">
		<div class="name">
		<i class="fa-solid fa-phone"></i>
		<p>Number</p>
		</div>
		<input type="text" name="number" id="number" placeholder="+46739444245">
		</label>
		<label for="adress">
		<div class="name">
		<i class="fa-solid fa-location-pin"></i>
		<p>Address</p>
		</div>
		<input type="text" name="adress" id="adress" placeholder="Lillmössvägen 8A">
		</label>
		<label for="email">
		<div class="name">
		<i class="fa-solid fa-envelope"></i>
		<p>Email</p>
		</div>
		<input type="text" name="email" id="email" placeholder="Enter your email adress">
		</label>
		<label for="city">
		<div class="name">
		<i class="fa-solid fa-landmark"></i>
		<p>City</p>
		</div>
		<input type="text" name="city" id="city" placeholder="Hägersten..">
		</label>
		<label for="state">
		<div class="name">
		<div class="last">
		<p>State</p>
		<input type="text" name="state" id="state" placeholder="Stockholm">
		</div>
		<div class="last">
		<p>ZIP</p>
		<input type="number" id="zip" name="zip" placeholder="01001">
		</div>
		</div>
		</label>
		</fieldset>
		</form>
	</div>
</div>
		<p id="newText"></p>
		<div class="button">
		<button id="button" onclick="myButton()" 	type="submit">Register</button>
			<a href="sign-up.html" id="back"></a>
		</div>
CurtJ 1159
Postad: 9 jul 2023 11:12

Ser nu att du har 4 likhetstecken i ditt villkod. 

Shali_47 263
Postad: 9 jul 2023 11:15

jag förstår inte dig !

CurtJ 1159
Postad: 9 jul 2023 11:27

city ==== ''

detta ställer till det för dig. Javascript sväljer det mesta men säger inte ifrån om det är felaktigt. 

Shali_47 263
Postad: 9 jul 2023 12:09

Nu använde jag ett annat sätt, i formen onsubmit använde jag "return false;" och på knappen onclick använde jag en funktion som  är validateform. sedan använde jag samma js skrivit som jag skrivit här, nu svarar den men det enda som jag vill ha ett särskilt width and height medan användare ifyller alla i formen. 

CurtJ 1159
Postad: 9 jul 2023 12:35

Det är svårt att förstå vad du menar. Kan du visa din kompletta kod (JS och HTML) och vad du vill uppnå så kan vi försöka hjälpa dig. 

Shali_47 263
Postad: 9 jul 2023 13:04 Redigerad: 9 jul 2023 13:10
<form onsubmit="return false;">
					<fieldset>
					<legend>Personal Info</legend>
						<label for="name">
							<div class="name">
								<i class="fa-solid fa-user"></i>
								<p>Full Name</p>
							</div>
							<input type="text" name="name" id="name" placeholder="SomeOne else..">
						</label>
						<label for="number">
							<div class="name">
								<i class="fa-solid fa-phone"></i>
								<p>Number</p>
							</div>
							<input type="text" name="number" id="number" placeholder="+46739444245">
						</label>
						<label for="adress">
							<div class="name">
								<i class="fa-solid fa-location-pin"></i>
								<p>Address</p>
							</div>
							<input type="text" name="adress" id="adress" placeholder="Lillmössvägen 8A">
						</label>
						<label for="email">
							<div class="name">
								<i class="fa-solid fa-envelope"></i>
								<p>Email</p>
							</div>
							<input type="text" name="email" id="email" placeholder="Enter your email adress">
						</label>
						<label for="city">
							<div class="name">
								<i class="fa-solid fa-landmark"></i>
								<p>City</p>
							</div>
							<input type="text" name="city" id="city" placeholder="Hägersten..">
						</label>
						<label for="state">
							<div class="name">
								<div class="last">
									<p>State</p>
									<input type="text" name="state" id="state" placeholder="Stockholm">
								</div>
								<div class="last">
									<p>ZIP</p>
									<input type="number" id="zip" name="zip" placeholder="01001">
								</div>
							</div>
						</label>
					</fieldset>
				</form>
Shali_47 263
Postad: 9 jul 2023 13:07 Redigerad: 9 jul 2023 13:11
function validateForm(){
				
				var a = document.getElementById('name').value;
				var b = document.getElementById('number').value;
				var c = document.getElementById('adress').value;
				var d = document.getElementById('email').value;
				var e = document.getElementById('state').value;
				var f = document.getElementById('city').value;
				var g = document.getElementById('zip').value;


				if(a === ''){
					alert("Fill the section name!");

				}else if(b === ''){
					alert("Fill the section number!");


				}else if(c === ''){
					alert("Fill the section adress!");

				}else if(d === ''){
					alert("Fill the section email!");

				}else if(e === ''){
					alert("Fill the section state!");

				}else if(f === ''){
					alert("Fill the section city!");

				}else if(g === ''){
					alert("Fill the section Zip!");

				}

				else{


					alert("THANKS FOR SUBMITTING!");


				}
			}
Shali_47 263
Postad: 9 jul 2023 13:09

det som jag vill är medan jag uppfyller allt i formen, kommer den sista delen med olika färger svara på display, den else menar jag!

CurtJ 1159
Postad: 9 jul 2023 13:17

Och hur vill du aktivera validateForm? Vad är det för färger du vill visa? Vad ska de representera och var ska de visas? 

Shali_47 263
Postad: 9 jul 2023 13:43 Redigerad: 9 jul 2023 13:44

det ska visa på samma ruta som "if och else if" svarar men bara för visa lite olikt på else delen i sist så därför vill jag ha olika färg på bakgrunden av texten thanks for submitting!

CurtJ 1159
Postad: 9 jul 2023 14:13

Det är inte möjligt att ändra färgen på systemets alert-box. Du måste skapa ett eget fönster som gör samma sak som är möjligt att styra med CSS. 

Svara Avbryt
Close