11548 sujets

JavaScript, DOM et API Web HTML5

Salut !

Voila je voudrais faire en sorte que lorsque l'internaute écrit dans un formulaire le nom d'un pays et qu'il fait submit, ca prend ce pays en argument, et change les valeurs des données présentes par celles du pays en question .......

Mais bon en meme temps je voudrais vérifier si le pays est dans la base de données ......

Il ne rentre meme pas dans ma fonction javascript: search_country

Donc voila ce que j'ai fait:


HTML:
<div id="DIV_MOVE">
		<div id="D_MOVE_TITRE"> Selection </div>
			<form action="" method="post">
				Country: <input type="text" name="country" /><br/>
				<input type="submit" name="submit" value="Submit" onclick="search_country(country.value)"/>
			</form>
	</div>


JavaScript:
	function search_country(form_country) {
	alert ('coucou');
		if (form_country != "") {
			$.ajax({
				type: "GET",
				dataType: "json",
				url: "data.php?" + form_country,				
					success: function(json) {
						if (json['laverif'] == 'ok') {
							submit_what2do='type_data=Job&type_areaOUcountry=Learner_Country&nom_data=postsales&year=2011&month=all&areaOUcountry=' + form_country; 
							ajax_call(submit_what2do);
							alert('Alert the country is ' + form_country);
							return true;
						}
						else {
							alert ('This country : ' + form_country + 'is not in the database);
							return false;						
						}
					}

			});
		}
		else {
			alert ('You have to indicate a country');
			return false;
		}
	};


PHP:
$resultat = array();
	
	function verif_country($country) {
		$req_array = mysql_query('SELECT Learner_Country FROM `table_training_update`');
		$verif = "";
		while ($champs = mysql_fetch_array($req_array)) {
			if ($country == strtolower($champs['Learner_Country']))	{
				$verif="ok";
			}
		}
		if ($verif != "ok") {
			echo "<script>alert(\"This country" + $country + "is not in the database\")</script>"; 
		}
		return $verif;		
	}
	
	
	if (isset($_GET["form_country"])) {
		$form_country = $_GET["form_country"];
		$resultat['laverif'] = verif_country($form_country);
	}



Donc le "coucou" n'apparait meme pas ..... pourtant j avais fait des test avant avec des trucs bidons et quand je cliquait sur le submit il rentrait bien dans la fonction ... donc je pense que c'est l ajax qui doit le traumatiser mais je sais pas trop pourquoi .... je suis vraiment débutant ...

Donc si vous pourriez m'aider ca serait sympa...

Hésitez pas a me demander plus de renseignements.
Bonjour,

Coucou ne s’affiche pas car il y a une erreur de syntaxe.
«'is not in the database» n’est pas fermé par une simple côte.
ha pas faux ! merci !

Par contre ca marche toujours pas ^^ mais au moins maintenant il va dans la fonction j admet =)

En fait avant il indiquait la donnée pour le monde et le but c'était que si je rentre france dans le formulaire et bah ca change la donnée ....

Bah ca change pas la donnée ^^

En fait apparemment il va pas dans le "success"

unction search_country(form_country) {
	alert ('coucou');
		if (form_country != "") {
			$.ajax({
				type: "GET",
				dataType: "json",
				url: "data.php?" + form_country,
					success: function(json) {

Et je sais pas pourquoi .... j'ai vraiment du mal avec l'ajax donc ca j'ai essayé de faire e m'inspirant d'une autre fonction .... mais peut etre que c'est pas exactement comme ca ...

Enfin en tt cas merci deja pour ca adrien, le truc tout bete mais que j'avais pas vu cherchant des trucs compliqués ..... ^^

J'espere que toi ou qqun d autres pourra résoudre le probleme .... =)



EDIT

ET ! quand je clique sur submit en fait ca recharge toute la page !!!

Donc meme si la fonction marchait et bah il rechargerai la page et remettrai la valeur par defaut (celle du monde) .....

Donc ...

Pourquoi ne rentre t il pas dans "success" ?

Comment éviter le rechargement de page quand je clique sur submit ?


S'il vous plait !

- Geo
Modifié par InfoGeo (16 Apr 2012 - 17:28)
Bonjour,

tu peux mettre le contenu de ta fonction ajax_call "ajax_call(submit_what2do);" ?
Modifié par qualithras (18 Apr 2012 - 11:46)
la fonction ajax_call marche c sur =)

function ajax_call(what2do){
		$.ajax({
			type: "GET",
			dataType: "json",
			url: "data.php?" + what2do,
			success: function(json) {
			$('#postsales2011world').html(json['ladata']);
			}
		});
	};
j'ai décidé de faire autrement au final, au lieu d ecrire le pays dans le formulaire maintenant elle clique dessus et ca marche =)

Voila:


postsales="type_data=Job&type_areaOUcountry=Learner_Country&nom_data=postsales&year=2011&month=all&areaOUcountry=";
	presales="type_data=Job&type_areaOUcountry=Learner_Country&nom_data=presales&year=2011&month=all&areaOUcountry=";
	sales="type_data=Job&type_areaOUcountry=Learner_Country&nom_data=sales&year=2011&month=all&areaOUcountry=";
	trainer="type_data=Job&type_areaOUcountry=Learner_Country&nom_data=trainer&year=2011&month=all&areaOUcountry=";
	internal="type_data=Int_Ext&type_areaOUcountry=Learner_Country&nom_data=internal&year=2011&month=all&areaOUcountry=";
	external="type_data=Int_Ext&type_areaOUcountry=Learner_Country&nom_data=external&year=2011&month=all&areaOUcountry=";
	certif_exam="type_data=Type&type_areaOUcountry=Learner_Country&nom_data=certif exam&year=2011&month=all&areaOUcountry=";
	course="type_data=Type&type_areaOUcountry=Learner_Country&nom_data=course&year=2011&month=all&areaOUcountry=";
	webinar="type_data=Type&type_areaOUcountry=Learner_Country&nom_data=webinar&year=2011&month=all&areaOUcountry=";
	specific_certification="type_data=Type&type_areaOUcountry=Learner_Country&nom_data=specific certification&year=2011&month=all&areaOUcountry=";
	

	select_country ("world");
	
	function select_country (thecountry) {
		ajax_call (postsales + thecountry);
		ajax_call (presales + thecountry);
		ajax_call (sales + thecountry);
		ajax_call (trainer + thecountry);
		ajax_call (internal + thecountry);
		ajax_call (external + thecountry);	
		ajax_call (certif_exam + thecountry);
		ajax_call (course + thecountry);
		ajax_call (webinar + thecountry);
		ajax_call (specific_certification + thecountry);
	}

	function ajax_call(what2do){
		$.ajax({
			type: "GET",
			dataType: "json",
			url: "data.php?" + what2do,
			success: function(json) {
			$('#' + json['nom'] + '2011world').html(json['ladata']);
			//alert ('#' + json['nom'] + '2011world');
			}
		});
	};




<div id="DIV_MOVE">
	<div id="D_MOVE_TITRE"> Selection </div>
	<a href="#" onclick="javascript:visibilite('div_a-e'); return false;">A - E</a><br/>
				<div id="div_a-e" style="display:none;">
					<div id="DIV_MOVE_SOUS_MENU">
						<a href="#" onclick="select_country('algeria')">Algeria</a><br/>
						<a href="#" onclick="select_country('argentina')">Argentina</a><br/>
						<a href="#" onclick="select_country('australia')">Australia</a><br/>
						<a href="#" onclick="select_country('austria')">Austria</a><br/>
						<a href="#" onclick="select_country('bangladesh')">Bangladesh</a><br/>
						<a href="#" onclick="select_country('belgium')">Belgium</a><br/>
						<a href="#" onclick="select_country('brazil')">Brazil</a><br/>
						<a href="#" onclick="select_country('bulgaria')">Bulgaria</a><br/>
						<a href="#" onclick="select_country('cameroon')">Cameroon</a><br/>
						<a href="#" onclick="select_country('canada')">Canada</a><br/>
						<a href="#" onclick="select_country('chile')">Chile</a><br/>
						<a href="#" onclick="select_country('china')">China</a><br/>
						<a href="#" onclick="select_country('colombia')">Colombia</a><br/>
						<a href="#" onclick="select_country('czech republic') ">Czech Republic</a><br/>
						<a href="#" onclick="select_country('denmark')">Denmark</a><br/>
						<a href="#" onclick="select_country('dominican rep.')">Dominican Rep.</a><br/>
						<a href="#" onclick="select_country('ecuador')">Ecuador</a><br/>
						<a href="#" onclick="select_country('egypt')">Egypt</a><br/>
						<a href="#" onclick="select_country('el salvador')">El Salvador</a><br/>
					</div>		
				</div><br/>