webForumDet fria alternativet

Verifiera val i drop-down...

JavaScript

4 svar · 379 visningar · startad av adnoctum

Medlem sedan jan. 200438 inlägg
Frågan#1

Hejsan !

Jag håller på med en enkel shop, med PayPal betalning.

Till varje produkt har man två val i drop-down listor (storlek & färg). Sedan klickar man på en knapp för att köpa.

Men, som det är nu så kan man klicka på knappen för att köpa utan att välja någon storlek eller färg.

<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
  <table align="center" cellpadding="3" cellspacing="3">
    <tr> 
      <td> 
        <input type="hidden" name="SIZE" value="SELECT SIZE">
        <select name="SIZE" onChange="load('SIZE')">
          <option value="" selected>Select size</option>
          <option value="Small">Small </option>
          <option value="Medium">Medium </option>
          <option value="Large">Large </option>
        </select>
      </td>
      <td> 
        <input type="hidden" name="COLOR" value="SELECT COLOR">
        <select name="COLOR" onChange="load('COLOR')">
          <option value="" selected>Select color</option>
          <option value="Green">Green</option>
          <option value="Black">Black</option>
        </select>
      </td>
    </tr>
  </table>
  <table width="100%" border="0" cellspacing="3" cellpadding="3">
    <tr> 
      <td> 
        <div align="center"> 
          <input type="submit" name="Submit" value="Submit">
          <input type="hidden" name="add" value="1">
          <input type="hidden" name="cmd" value="_cart">
          <input type="hidden" name="business" value="order@mailadress.com">
          <input type="hidden" name="item_name" value="PRODUKTNAMN">
          <input type="hidden" name="item_number" value="PRODUKTNUMMER">
          <input type="hidden" name="amount" value="PRIS">
          <input type="hidden" name="page_style" value="PayPal">
          <input type="hidden" name="return" value="http://www.SITE.com/">
          <input type="hidden" name="cancel_return" value="http://www.SITE.com/">
          <input type="hidden" name="cn" value="Message / comments">
        </div>
      </td>
    </tr>
  </table>
  <input type="hidden" name="currency_code" value="USD">
  <input type="hidden" name="bn" value="PP-ShopCartBF">
</form>

När man klickar på "submit" knappen såöppnas ett nytt fönster (i första kod raden är länken som öppnas). Jag vill inte att man skall kunna trycka på "submit" knappen (som är en bild i min kod egentligen) förr än man har gjort val i de båda drop-down listorna...

Medlem sedan aug. 20039 340 inlägg
#2

Just i ditt fall borde följande kod funka:

<script type="text/javascript">

function validateForm(th){
	for (var i=0; i<th.elements.length; i++){
		if (/select/i.test(th.elements[i].value)){
			alert("Vänligen fyll i alla fält!");
			return false;
		}
	}
	return true;
}

</script>

<form target="paypal" onsubmit="return validateForm(this);" action="https://www.paypal.com/cgi-bin/webscr" method="post">
...
Medlem sedan jan. 200438 inlägg
#3

tackar ! :)

provade just, det funkar så långt att det inte går att skicka, men när man har valt i de båda drop-down listorna så får man fortfarande upp rutan "Vänligen fyll i alla fält!"...

Medlem sedan aug. 20039 340 inlägg
#4
<script type="text/javascript">

function validateForm(th){
	for (var i=0; i<th.elements.length; i++){
		if (/select/i.test(th.elements[i].value) && th.elements[i].type="hidden"){
			alert("Vänligen fyll i alla fält!");
			return false;
		}
	}
	return true;
}

</script>

<form target="paypal" onsubmit="return validateForm(this);" action="https://www.paypal.com/cgi-bin/webscr" method="post">
...

Så där kanske?

Medlem sedan jan. 200438 inlägg
#5

tack igen, men nu får jag inte upp nån liten "varningsruta" alls, det nya fönstret öppnas trots att jag inte har gjort nåt val i drop-down listorna...

265 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)