Cum să obțineți VALOARE din FORMULAR fără a-l depune? (Programare, Php, Html)

utilizator2082882 a intrebat.

Aș dori să obțin valoarea din Formular fără a-l trimite, deoarece clientul trebuie să aleagă tipul corect de model de casă pentru a obține formularul corect care se potrivește modelului de casă selectat, fără a trimite, doar selectând modelul de casă și acesta de exemplu continuă restul formularului după aceea.

Am încercat până acum cu acest lucru:

<form method="GET" action="foo.php">
  <select name="house_model">
    <option value="">------</option>
    <option value="<?php echo $model1;?>">Model 1</option>
    <option value="<?php echo $model2;?>">Model 2</option>
    <option value="<?php echo $model3;?>">Model 3</option>
  </select>
</form>

<?php    
$a = $_GET["housemodel"];

if($a<>'')
{
if($a == $model1)
{
   echo "<input type="text" name="a" value="something model1">";
}
else if($a == $model2)
{
   echo "<input type="text" name="b" value="something model2">";
} 
else if($a == $model3)
{
   echo "<input type="text" name="c" value="something model3">";
}
}
?>        

Comentarii

  • Nu se poate face în acest fel, deoarece pagina este deja încărcată cu scriptul php, se poate face prin ajax. –  > Por Dieepak.
  • utilizator cu script java și ajax –  > Por Ali Akbar Azizi.
  • pagina este deja încărcată cu script php. –  > Por Praveen Dabral.
5 răspunsuri
Bhushan

Cred că, dacă nu doriți page să fie reîmprospătat atunci când utilizatorul selectează valoarea din lista dvs. derulantă, atunci puteți utiliza ajax. AJAX este folosit în acest scop. dacă căutați pe Google, atunci veți găsi o mulțime de tutoriale legate de AJAX.

UserProg

Dacă nu doriți să trimiteți formularul, utilizați JavaScript pentru a obține elementul. Sau puteți folosi și jquery pentru a accesa valoarea. Asigurați-vă că ați pus id = "something" și să o recuperați folosind $('#something').val();

dacă doriți să folosiți JavaScript,

<select name="house_model" id="model">
    <option value="">------</option>
    <option value="<?php echo $model1;?>">Model 1</option>
    <option value="<?php echo $model2;?>">Model 2</option>
    <option value="<?php echo $model3;?>">Model 3</option>
</select>

<script type="text/javascript">
    var model= document.getElementById('model');
    alert("You entered: " + model);
</script>

codurile AJAX aici

 $("#model").live("change", function () {
     alert("You choose " + $('#model').val());
 });

Mahendra

DACĂ nu doriți să trimiteți formularul, puteți obține elementul folosind AJAX/jQuery.

<form method="GET" action="foo.php" onChange="getHouseModel">
  <select name="house_model" id="house_model">
    <option value="">------</option>
    <option value="<?php echo $model1;?>">Model 1</option>
    <option value="<?php echo $model2;?>">Model 2</option>
    <option value="<?php echo $model3;?>">Model 3</option>
  </select>
</form>

<script type='text/javascript'>
   function getHouseModel(){
      var model=$('#house_model').val();
      alert(model);
}
</script>

sau puteți scrie jquery astfel. astfel încât să nu fie nevoie să apelați funcția în tag.

<script type="text/javascript">
    $('#house_model').select(function() {
       var model=$('#house_model').val();
      alert(model);
     });
</script>

Comentarii

  • Cum pot obține această funcție în variabilă sau ceva pentru a o compara cu $models? –  > Por user2082882.
  • poți să o obții cu php și să nu folosești codul javascript/jquery? –  > Por jned29.
Jozef Legény

Nu există nicio modalitate de a obține date dintr-un formular înainte de a-l trimite în PHP! Acest lucru se datorează faptului că înainte de trimiterea formularului scriptul PHP pur și simplu nu este apelat.

Dacă doriți să faceți o validare înainte de a trimite datele trebuie să folosiți javascript care este rulat pe browserul clientului. Aruncați o privire la biblioteca jQuery care face acest lucru foarte ușor: http://docs.jquery.com/Plugins/Validation/validate

Dacă doriți să utilizați doar PHP, atunci va trebui să separați formularul în două pagini.

Deepu

Trebuie să folosiți ajax pentru a realiza acest lucru.De exemplu

<form method="GET" action="foo.php">
  <select name="house_model" id="house_model">
    <option value="">------</option>
    <option value="<?php echo $model1;?>">Model 1</option>
    <option value="<?php echo $model2;?>">Model 2</option>
    <option value="<?php echo $model3;?>">Model 3</option>
  </select>
</form>

 $("#house_model").live("change", function () {
   //Write the ajax and post the value to server side
    });

Tags:,