se può servire a qualcuno posto qui una soluzione che ho trovato e un po' elaborato io stessa.
Quello che fa: grazie a un menu a tendina sceglie il paese e dopo questa scelta viene già settato il prefisso che non è modificabile dall'utente, il quale dovrà inserire solo il numero di telefono che accetta solo interi. Il controllo numeri viene fatto su onkeypress in modo da non dover effettuare un controllo dopo l'inserimento del dato.
ecco quanto ho scritto è una soluzione in javascript (se qlc ha soluzioni più eleganti me lo faccia sapere)![]()
<script>
function checkPrefisso(){ form = document.forms['RicercaPaese'];
var prefissi = new Array();
prefissi[0 ]="+355";
prefissi[1 ]="+213";
prefissi[2 ]="+376";
prefissi[3 ]="+1268";
prefissi[4 ]="+966";
prefissi[5 ]="+54";
prefissi[6 ]="+61";
prefissi[7 ]="+43";
prefissi[8 ]="+994";
prefissi[9 ]="+973";
prefissi[10 ]="+880";
prefissi[11 ]="+1246";
prefissi[12 ]="+32";
prefissi[13 ]="+501";
prefissi[14 ]="+229";
prefissi[15 ]="+1441";
prefissi[16 ]="+375";
prefissi[17 ]="+591";
prefissi[18 ]="+387";
prefissi[19 ]="+55";
prefissi[20 ]="+359";
prefissi[21 ]="+226";
prefissi[22 ]="+855";
prefissi[23 ]="+237";
prefissi[24 ]="+1";
prefissi[25 ]="+238";
prefissi[26 ]="+590";
prefissi[27 ]="+1345";
prefissi[28 ]="+420";
prefissi[29 ]="+56";
prefissi[30 ]="+86";
prefissi[31 ]="+357";
prefissi[32 ]="+57";
prefissi[33 ]="+242";
prefissi[34 ]="+82";
prefissi[35 ]="+225";
prefissi[36 ]="+385";
prefissi[37 ]="+53";
prefissi[38 ]="+45";
prefissi[39 ]="+1767";
prefissi[40 ]="+593";
prefissi[41 ]="+20";
prefissi[42 ]="+971";
prefissi[43 ]="+372";
prefissi[44 ]="+251";
prefissi[45 ]="+63";
prefissi[46 ]="+358";
prefissi[47 ]="+33";
prefissi[48 ]="+241";
prefissi[49 ]="+220";
prefissi[50 ]="+995";
prefissi[51 ]="+49";
prefissi[52 ]="+233";
prefissi[53 ]="+1876";
prefissi[54 ]="+81";
prefissi[55 ]="+350";
prefissi[56 ]="+962";
prefissi[57 ]="+30";
prefissi[58 ]="+1473";
prefissi[59 ]="+44";
prefissi[60 ]="+852";
prefissi[61 ]="+91";
prefissi[62 ]="+62";
prefissi[63 ]="+964";
prefissi[64 ]="+353";
prefissi[65 ]="+354";
prefissi[66 ]="+44";
prefissi[67 ]="+298";
prefissi[68 ]="+972";
prefissi[69 ]="+39";
prefissi[70 ]="+44";
prefissi[71 ]="+996";
prefissi[72 ]="+254";
prefissi[73 ]="+377";
prefissi[74 ]="+965";
prefissi[75 ]="+262";
prefissi[76 ]="+856";
prefissi[77 ]="+371";
prefissi[78 ]="+961";
prefissi[79 ]="+218";
prefissi[80 ]="+423";
prefissi[81 ]="+370";
prefissi[82 ]="+352";
prefissi[83 ]="+852";
prefissi[84 ]="+389";
prefissi[85 ]="+261";
prefissi[86 ]="+265";
prefissi[87 ]="+960";
prefissi[88 ]="+60";
prefissi[89 ]="+223";
prefissi[90 ]="+356";
prefissi[91 ]="+212";
prefissi[92 ]="+222";
prefissi[93 ]="+230";
prefissi[94 ]="+52";
prefissi[95 ]="+373";
prefissi[96 ]="+381";
prefissi[97 ]="+258";
prefissi[98 ]="+264";
prefissi[99 ]="+227";
prefissi[100 ]="+234";
prefissi[101 ]="+47";
prefissi[102 ]="+64";
prefissi[103 ]="+31";
prefissi[104 ]="+968";
prefissi[105 ]="+92";
prefissi[106 ]="+972";
prefissi[107 ]="+507";
prefissi[108 ]="+595";
prefissi[109 ]="+51";
prefissi[110 ]="+48";
prefissi[111 ]="+351";
prefissi[112 ]="+974";
prefissi[113 ]="+44";
prefissi[114 ]="+243";
prefissi[115 ]="+1809";
prefissi[116 ]="+40";
prefissi[117 ]="+7";
prefissi[118 ]="+1869";
prefissi[119 ]="+1758";
prefissi[120 ]="+221";
prefissi[121 ]="+381";
prefissi[122 ]="+248";
prefissi[123 ]="+232";
prefissi[124 ]="+65";
prefissi[125 ]="+963";
prefissi[126 ]="+421";
prefissi[127 ]="+386";
prefissi[128 ]="+34";
prefissi[129 ]="+94";
prefissi[130 ]="+27";
prefissi[131 ]="+249";
prefissi[132 ]="+46";
prefissi[133 ]="+41";
prefissi[134 ]="+268";
prefissi[135 ]="+737";
prefissi[136 ]="+239";
prefissi[137 ]="+255";
prefissi[138 ]="+66";
prefissi[139 ]="+228";
prefissi[140 ]="+216";
prefissi[141 ]="+90";
prefissi[142 ]="+380";
prefissi[143 ]="+256";
prefissi[144 ]="+36";
prefissi[145 ]="+1";
prefissi[146 ]="+998";
prefissi[147 ]="+58";
prefissi[148 ]="+84";
prefissi[149 ]="+967";
prefissi[150 ]="+260";
prefissi[151 ]="+263";
form.prefisso.value= prefissi[form.PAESE.value-1];
}
function getkey(e)
{
if (window.event)
return window.event.keyCode;
else if (e)
return e.which;
else
return null;
}
function goodchars(e, goods)
{
var key;
var keychar;
key = getkey(e);
if (key == null) return true;
// get character
keychar = String.fromCharCode(key);
keychar = keychar.toLowerCase();
goods = goods.toLowerCase();
// check goodkeys
if (goods.indexOf(keychar) != -1)
return true;
// control keys
if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
return true;
// else return false
return false;
}
</script>
<form action="script_telefono.php" method="POST" name="RicercaPaese" id="RicercaPaese">
<Table>
<tr>
<td valign="middle"><select name="PAESE" id="PAESE" class="cmdselect" onchange='checkPrefisso()'>
<option name="" value="0">-- destinazione --</option>
<option value="1">ALBANIA</option>
<option value="2">ALGERIA</option>
<option value="3">ANDORRA</option>
<option value="4">ANTIGUA E BARBUDA</option>
<option value="5">ARABIA SAUDITA</option>
<option value="6">ARGENTINA</option>
<option value="7">AUSTRALIA</option>
<option value="8">AUSTRIA</option>
<option value="9">AZERBAIJAN</option>
<option value="10">BAHREIN</option>
<option value="11">BANGLADESH</option>
<option value="12">BARBADOS</option>
<option value="13">BELGIO</option>
<option value="14">BELIZE</option>
<option value="15">BENIN</option>
<option value="16">BERMUDA</option>
<option value="17">BIELORUSSIA</option>
<option value="18">BOLIVIA</option>
<option value="19">BOSNIA ERZEGOVINA</option>
<option value="20">BRASILE</option>
<option value="21">BULGARIA</option>
<option value="22">BURKINA FASO</option>
<option value="23">CAMBOGIA</option>
<option value="24">CAMERUN</option>
<option value="25">CANADA</option>
<option value="26">CAPO VERDE</option>
<option value="27">CARAIBI FRANCESI </option>
<option value="28">CAYMANS</option>
<option value="29">CECA, REP.</option>
<option value="30">CILE</option>
<option value="31">CINA</option>
<option value="32">CIPRO</option>
<option value="33">COLOMBIA</option>
<option value="34">CONGO</option>
<option value="35">COREA DEL SUD</option>
<option value="36">COSTA D'AVORIO</option>
<option value="37">CROAZIA</option>
<option value="38">CUBA</option>
<option value="39">DANIMARCA</option>
<option value="40">DOMINICA</option>
<option value="41">ECUADOR</option>
<option value="42">EGITTO</option>
<option value="43">EMIRATI ARABI UNITI</option>
<option value="44">ESTONIA</option>
<option value="45">ETIOPIA</option>
<option value="46">FILIPPINE</option>
<option value="47">FINLANDIA</option>
<option value="48">FRANCIA</option>
<option value="49">GABON</option>
<option value="50">GAMBIA</option>
<option value="51">GEORGIA</option>
<option value="52">GERMANIA</option>
<option value="53">GHANA</option>
<option value="54">GIAMAICA</option>
<option value="55">GIAPPONE</option>
<option value="56">GIBILTERRA</option>
<option value="57">GIORDANIA</option>
<option value="58">GRECIA</option>
<option value="59">GRENADA</option>
<option value="60">GUERNSEY (Regno Unito)</option>
<option value="61">HONG KONG</option>
<option value="62">INDIA</option>
<option value="63">INDONESIA</option>
<option value="64">IRAQ</option>
<option value="65">IRLANDA</option>
<option value="66">ISLANDA</option>
<option value="67">ISOLA DI MAN ( Regno Unito)</option>
<option value="68">ISOLE FAROE</option>
<option value="69">ISRAELE</option>
<option value="70" selected>ITALIA</option>
<option value="71">JERSEY (Regno Unito)</option>
<option value="72">KAZAKISTAN</option>
<option value="73">KENYA</option>
<option value="74">KOSOVO</option>
<option value="75">KUWAIT</option>
<option value="76">LA REUNION</option>
<option value="77">LAOS</option>
<option value="78">LETTONIA</option>
<option value="79">LIBANO</option>
<option value="80">LIBIA</option>
<option value="81">LIECHTENSTEIN</option>
<option value="82">LITUANIA</option>
<option value="83">LUSSEMBURGO</option>
<option value="84">MACAO</option>
<option value="85">MACEDONIA</option>
<option value="86">MADAGASCAR</option>
<option value="87">MALAWI</option>
<option value="88">MALDIVE</option>
<option value="89">MALESIA</option>
<option value="90">MALI</option>
<option value="91">MALTA</option>
<option value="92">MAROCCO</option>
<option value="93">MAURITANIA</option>
<option value="94">MAURITIUS</option>
<option value="95">MESSICO</option>
<option value="96">MOLDAVIA</option>
<option value="97">MONTENEGRO</option>
<option value="98">MOZAMBICO</option>
<option value="99">NAMIBIA</option>
<option value="100">NIGER</option>
<option value="101">NIGERIA</option>
<option value="102>NORVEGIA</option>
<option value="103">NUOVA ZELANDA</option>
<option value="104">OLANDA</option>
<option value="105">OMAN</option>
<option value="106">PAKISTAN</option>
<option value="107">PALESTINA</option>
<option value="108">PANAMA</option>
<option value="109">PARAGUAY</option>
<option value="110">PERU'</option>
<option value="111">POLONIA</option>
<option value="112">PORTOGALLO</option>
<option value="113">QATAR</option>
<option value="114">REGNO UNITO</option>
<option value="115">REP. DEL CONGO</option>
<option value="116">REP. DOMINICANA</option>
<option value="117">ROMANIA</option>
<option value="118">RUSSIA</option>
<option value="119">SAINT KITTS E NEVIS</option>
<option value="120">SAINT LUCIA</option>
<option value="121">SENEGAL</option>
<option value="122">SERBIA</option>
<option value="123">SEYCHELLES</option>
<option value="124">SIERRALEONE</option>
<option value="125">SINGAPORE</option>
<option value="126">SIRIA</option>
<option value="127">SLOVACCA,REP.</option>
<option value="128">SLOVENIA</option>
<option value="129">SPAGNA</option>
<option value="130">SRILANKA</option>
<option value="131">SUDAFRICA</option>
<option value="132">SUDAN</option>
<option value="133">SVEZIA</option>
<option value="134">SVIZZERA</option>
<option value="135">SWAZILAND</option>
<option value="136">TAGIKISTAN</option>
<option value="137">TAIWAN</option>
<option value="138">TANZANIA</option>
<option value="139">THAILANDIA</option>
<option value="140">TOGO</option>
<option value="141">TUNISIA</option>
<option value="142">TURCHIA</option>
<option value="143">UCRAINA</option>
<option value="144">UGANDA</option>
<option value="145">UNGHERIA</option>
<option value="146">USA</option>
<option value="147">UZBEKISTAN</option>
<option value="148">VENEZUELA</option>
<option value="149">VIETNAM</option>
<option value="150">YEMEN</option>
<option value="151">ZAMBIA</option>
<option value="152">ZIMBABWE</option>
</select></td><tr></tr>
<td><input type="text" name='prefisso' id='prefisso' value='+39' size="5" readonly>/
<input type="text" name='tel' onKeyPress="return goodchars(event,'0123456789')">
</td>
</tr>
</table>
</form>