Έλεγχος elements απο php αρχείο

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

Έλεγχος elements απο php αρχείο

Δημοσίευση από abeautifulmind » 12 Μαρ 2014 16:41

Kαλησπέρα σε όλους.
Ηθελα να ρωτησω κάτι παρακαλώ.Έστω σε ένα αρχείο ajax.php έχω αυτό π.χ.
κώδικας:

Κώδικας: Επιλογή όλων

<select name="state" id="state" onchange="showcity&#40;this.value&#41;" > 
<option value="">Επιλογή Νομου</option>
στο οποίο θέλω εγώ να κάνω έναν έλεγχο με js για το αν ο χρήστης το άφησε κενό η αν έχει κάποια τιμή να κάνει κάτι και δεν μου βγαίνει δυστηχώς.Δλαδή έχω ένα αρχείο sign_in.php όπου έχω έναν κώδικα εγγραφής και 1 πεδίο όπου τρέχω μία funtcion city(); από ένα αρχείο php όπου το φορώνω από το sign_up με include('my_functions.inc.php'); και καλώ επίσης και ενα check_fields.js από το αρχείο sign_up.php για τον έλεγχο στο πεδίο που φορτώνω την city(); που στην ουσία θέλω να ελένξω το element state από το ajax.php.Νομίζω ότι επειδή το αρχείο ajax.php δεν φορτώνεται πουθενά στην sign_up.php αλλά χρησιμοποήται από την funtion city(); για να πάρει με ajax από την βάση δεδομένων τα στοιχεία δεν μπορεί ο έλεγχος του check_fields.js να βρεί το <select name="state" id="state" onchange="showcity(this.value)" >
<option value="">Επιλογή Νομου</option> Τι λέτε?

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Έλεγχος elements απο php αρχείο

Δημοσίευση από dva_dev » 12 Μαρ 2014 19:14

Tι λέτε?
ΔΕΝ κατάλαβα Χριστό! :o

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Έλεγχος elements απο php αρχείο

Δημοσίευση από korgr » 12 Μαρ 2014 19:32

dva_dev έγραψε:
Tι λέτε?
ΔΕΝ κατάλαβα Χριστό! :o
LOL
me too :D

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Έλεγχος elements απο php αρχείο

Δημοσίευση από giannis17 » 13 Μαρ 2014 21:03

Ου να μου χαθείτε δεν μπορείτε να καταλάβετε τι λέει το παιδί... :hammer:

Λοιπόν αν κατάλαβα σωστά θες να γίνεται ένας έλεγχος σε δεδομένα που τραβάς από βάση με php πριν την ανανέωση της φόρμας με ajax.

Χρειάζεται να βάλεις τον έλεγχο μέσα σε ένα αντικείμενο json. Δες την πρώτη απάντηση σε αυτό το παρεμφερές ερώτημα: stackoverflow.com/questions/15637101/using-ajax-to-pass-variable-to-php-and-retrieve-those-using-ajax-again
"There is only one problem with common sense; it’s not very common."
&#8211; Milt Bryce

abeautifulmind
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2010 18:04

Έλεγχος elements απο php αρχείο

Δημοσίευση από abeautifulmind » 14 Μαρ 2014 10:19

gianni17 se eyxaristo gia tin prospatheia sou na apokriptografiseis tin erotisi mou :D
Λοιπόν έχετε δίκιο μάλλον σας μπέρδεψα παραπάνω έτσι λάθος εκτίμιση μου.
Ωραία πάμε ξανά έχω πάρει αυτό το πολυ ωραία script του Admax από εδώ
και αναφέρομαι σε αυτό και ας πούμε ότι στο example.php που έχει πρόσθεσα αυτά (για τα αποτελέσματα του ελέγχου σε κάθε πεδίο)

Κώδικας: Επιλογή όλων


<style>.messagebox_check&#123;

 width&#58;100px;
 margin-left&#58;30px;
 
 

&#125;
.messageboxok_check&#123;
 filter&#58; none !important;
 width&#58;120px;
 margin-left&#58;30px;
 background-image&#58;url&#40;../images/ok.png&#41;;
 filter&#58;0;
 background-repeat&#58;no-repeat;
 background-position&#58;left;
 
 
 font-weight&#58;bold;
 color&#58;#008000;
 
&#125;
.messageboxerror_check&#123;

 width&#58;120px;
 margin-left&#58;30px;
 font-size&#58;12px;
 color&#58;#FF0000;
 
 font-weight&#58;bold;
 
&#125;
.error_check&#123;

border&#58; solid 1px #FF0000;
&#125;
</style>
 <tr>
          <td width="176" height="21"><span class="style8">*</span>Χώρα</td>
          <td width="126" ><?php country&#40;&#41;; ?><td id="country_check" style=" width&#58;150px;">Παρακαλώ επιλέξτε
                   </td>
         </td>
        </tr>
      <tr >
          <td width="176" height="21"><span class="style8">*</span>Nομός/Πολιτεία</td>
          <td width="126" ><?php state&#40;&#41;; ?><td id="nomos_check" style=" width&#58;150px;">
                   </td>
        </tr>
          <tr>
          <td width="176" height="21"><span class="style8">*</span>Πόλη</td>
          <td width="126" ><?php city&#40;&#41;; ?><td id="city_check" style=" width&#58;150px;">Παρακαλώ επιλέξτε
                   </td>
         </td>
        </tr>

και αυτά για να γίνει ο έλεγχος με js

Κώδικας: Επιλογή όλων


<script>
$&#40;document&#41;.ready&#40;function&#40;&#41;
&#123;

//.............................................................................................
//.............................................................................................
//.............................................................................................	
	
			$&#40;"#country"&#41;.blur&#40;function&#40;&#41;
	&#123;
		//remove all the class add the messagebox classes and start fading
		$&#40;"#country_check"&#41;.removeClass&#40;&#41;.addClass&#40;'messagebox_check'&#41;.text&#40;'Έλεγχος...'&#41;.fadeIn&#40;"slow"&#41;;
		
	if&#40;document.registration_form.country.value==''&#41;
	&#123;
		$&#40;"#country_check"&#41;.fadeTo&#40;200,0.1,function&#40;&#41; //start fading the messagebox
			&#123; 
			  //add message and change the class of the box and start fading
			  $&#40;this&#41;.html&#40;'Eπιλέξτε χώρα.'&#41;.addClass&#40;'messageboxerror_check'&#41;.fadeTo&#40;900,1&#41;;
			   $&#40;"#country"&#41;.addClass&#40;'error_check'&#41;;
			&#125;&#41;;		
          &#125;
		  else if&#40;document.registration_form.country.value=='ΕΛΛΑΔΑ'&#41;
	 &#123;
			$&#40;"#nomos_check"&#41;.fadeTo&#40;200,0.1,function&#40;&#41; //start fading the messagebox
			&#123; 
			  //add message and change the class of the box and start fading
			  $&#40;this&#41;.html&#40;'Eπιλέξτε νομό για χώρα ΕΛΛΑΔΑ.'&#41;.addClass&#40;'messageboxerror_check'&#41;.fadeTo&#40;900,1&#41;;
			   $&#40;"#state"&#41;.addClass&#40;'error_check'&#41;;
			&#125;&#41;;		
          &#125;
		  else
		  &#123;
		  	$&#40;"#country_check"&#41;.fadeTo&#40;200,0.1,function&#40;&#41;  //start fading the messagebox
			&#123; 
			  //add message and change the class of the box and start fading
			  $&#40;this&#41;.html&#40;''&#41;.addClass&#40;'messageboxok_check'&#41;.fadeTo&#40;900,1&#41;;
			  $&#40;"#country"&#41;.removeClass&#40;'error_check'&#41;;
			&#125;&#41;;
		  &#125;
				
        &#125;&#41;;
		
		//.............................................................................................
//.............................................................................................
//.............................................................................................	
	
			$&#40;"#state"&#41;.blur&#40;function&#40;&#41;
	&#123;
		//remove all the class add the messagebox classes and start fading
		$&#40;"#nomos_check"&#41;.removeClass&#40;&#41;.addClass&#40;'messagebox_check'&#41;.text&#40;'Έλεγχος...'&#41;.fadeIn&#40;"slow"&#41;;
		
	if&#40;document.state.value==''&#41;
	&#123;
		$&#40;"#nomos_check"&#41;.fadeTo&#40;200,0.1,function&#40;&#41; //start fading the messagebox
			&#123; 
			  //add message and change the class of the box and start fading
			  $&#40;this&#41;.html&#40;'Eπιλέξτε νομό.'&#41;.addClass&#40;'messageboxerror_check'&#41;.fadeTo&#40;900,1&#41;;
			   $&#40;"#nomos"&#41;.addClass&#40;'error_check'&#41;;
			&#125;&#41;;		
          &#125;
		 
		  else
		  &#123;
		  	$&#40;"#nomos_check"&#41;.fadeTo&#40;200,0.1,function&#40;&#41;  //start fading the messagebox
			&#123; 
			  //add message and change the class of the box and start fading
			  $&#40;this&#41;.html&#40;''&#41;.addClass&#40;'messageboxok_check'&#41;.fadeTo&#40;900,1&#41;;
			  $&#40;"#nomos"&#41;.removeClass&#40;'error_check'&#41;;
			&#125;&#41;;
		  &#125;
				
        &#125;&#41;;
	
//.............................................................................................
//.............................................................................................
//.............................................................................................	
	
				$&#40;"#city"&#41;.blur&#40;function&#40;&#41;
	&#123;
		//remove all the class add the messagebox classes and start fading
		$&#40;"#city_check"&#41;.removeClass&#40;&#41;.addClass&#40;'messagebox_check'&#41;.text&#40;'Έλεγχος...'&#41;.fadeIn&#40;"slow"&#41;;
		
	if&#40;document.registration_form.city.value==''&#41;
	&#123;
		$&#40;"#city_check"&#41;.fadeTo&#40;200,0.1,function&#40;&#41; //start fading the messagebox
			&#123; 
			  //add message and change the class of the box and start fading
			  $&#40;this&#41;.html&#40;'Eπιλέξτε Πόλη.'&#41;.addClass&#40;'messageboxerror_check'&#41;.fadeTo&#40;900,1&#41;;
			   $&#40;"#city"&#41;.addClass&#40;'error_check'&#41;;
			&#125;&#41;;		
          &#125;
		 
		  else
		  &#123;
		  	$&#40;"#city_check"&#41;.fadeTo&#40;200,0.1,function&#40;&#41;  //start fading the messagebox
			&#123; 
			  //add message and change the class of the box and start fading
			  $&#40;this&#41;.html&#40;''&#41;.addClass&#40;'messageboxok_check'&#41;.fadeTo&#40;900,1&#41;;
			  $&#40;"#city"&#41;.removeClass&#40;'error_check'&#41;;
			&#125;&#41;;
		  &#125;
				
        &#125;&#41;;

//................................
	&#125;&#41;;
</script>
		
Και το κρίσιμο ερώτημα:
π.x. στο έλεγχο του city μέχρι εδώ
$("#city").blur(function()
{
//remove all the class add the messagebox classes and start fading
$("#city_check").removeClass().addClass('messagebox_check').text('Έλεγχος...').fadeIn("slow");

if(document.registration_form.city.value=='')
{
$("#city_check").fadeTo(200,0.1,function() //start fading the messagebox
{
//add message and change the class of the box and start fading
$(this).html('Eπιλέξτε Πόλη.').addClass('messageboxerror_check').fadeTo(900,1);
$("#city").addClass('error_check');
});
}
δουλεύει μία χαρά γιατί φαντάζομαι το
document.registration_form.city.value==''
βρίσκει το element γιατί έχει φορτωθεί με την σελίδα example.php και το include('my_functions.inc.php'); το οποίο βρίσκει στο my_functions.inc.php στο σημείο
echo '<div id="txtHintcity">
<select id="city">
<option id="city" value="" selected="selected">Επιλέξτε Νομό/Πολιτεία πρώτα</option>
</select>
</div>';
όμως πιό κάτω το
else
{
$("#city_check").fadeTo(200,0.1,function() //start fading the messagebox
{
//add message and change the class of the box and start fading
$(this).html('').addClass('messageboxok_check').fadeTo(900,1);
$("#city").removeClass('error_check');
});
}

});
δεν δουλεύει γιατί πλέον το element city φορτώνεται από το αρχείο city_ajax.php και δεν υπάρχει στο dom νομίζω(Eίμαι λίγο άσχετος με dom :( ) Οπότε πως μπορώ να συνεχίσω τον έλεγχο βρίσκοντας elements από αρχείο που δεν φορτώνεται μέσα στο example?

Άβαταρ μέλους
Admax
Δημοσιεύσεις: 10
Εγγραφή: 02 Αύγ 2013 15:50
Τοποθεσία: Καισαριανή
Επικοινωνία:

Έλεγχος elements απο php αρχείο

Δημοσίευση από Admax » 21 Ιούλ 2014 19:59

Δεν ξέρω αν μπορεί να βοηθήσει το να βάλεις μέσα στα tags του select το required

Κώδικας: Επιλογή όλων

<select name="test" required >
...
...
..
</select>
[/code]

θα σε γλιτώσει από αρκετό κώδικα... :\

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης