2017-08-13 2 views
0
  1. erste Form ist, wo Kunde alle Produkte von Marke Modell und Preis als Optionsfeld mit dem Wert von dort ID in der DatenbankWie man mit mehreren Formularen umgehen kann, stoppen Sie das erneute Laden der Seite beim Senden?

  2. -Client klicken Sie einreichen bekommen.

  3. PHP fragt isset Namen Taste

  4. einreichen If isset es zweite Form Echo in den Client-Spezifikationen für das Produkt hinzufügen kann, dass er oder sie wählen. Form eingegeben wird, geben Sie den Text und Textbereich des

  5. Dann php fragen isset Namen Taste für die zweite Formular

aber das Problem ist, wenn der Client drücken für die zweite Formular

Wenn erste Form unscharfer dann sollte der Rest des Codes überprüfen, dass das zweite Formular nicht existiert, da beide Formulare am meisten beenden für den Code zu arbeiten, und ich kann das bekommen, wenn ich nicht finde, Seite Neuladen auf Senden zu stoppen

Ich versuche mit AJAX aber die MySQL-Abfrage wirft ein Fehler, dass Eingaben leer sind.

JavaScript-Code:

<script> 
$(document).ready(function() { 
    $('.link').click(function(){ 
    $.post('ajax1.php?strana='+$(this).attr('strana'), function(odgovor) { 
     $('#odgovor').html(odgovor); 
    }); 
    }); 
}); 
</script> 

PHP-Code:

echo "<div class='container' id='cars'> 
    <div class='row'> 
     <div class='col-md-4 col-md-offset-4 text-center'> 
     <form action='' method='post' class='loginForm' id='cmsC' name='cmsC' enctype='multipart/form-data'> 
      <div class='input-group'>"; 
      $sql="select * from produkt "; 
      $rez=mysqli_query($db,$sql); 
      while($red = mysqli_fetch_object($rez)) 
      { 
      echo "<input type='radio' name='proizvod' value='$red->id'> ". $red->marka." ". $red->naziv." ". $red->cena."<br>"; 
      } 
      echo "<input type='submit' id='btnsubmit1' name='btnsubmit1' class='form-control' value='Chouse Product' > 
     </div> 
     </form> 
    </div> 
    </div> 
</div>"; 

if (isset($_POST['btnsubmit1'])) { 
    $id = $_POST['proizvod']; 

    echo "<div class='container'> 
    <div class='row'> 
    <div class='col-md-4 col-md-offset-4 text-center'> 
     <form action='' method='post' class='loginForm' id='cms' name='cms' enctype='multipart/form-data'> 
     <div class='input-group clear'> 
      <input type='text' id='dotm' name='dotm' class='form-control' 
      placeholder='Description Of The Motherboard (ASUS H81M-R/C/SI)'> 

      <input type='text' id='top' name='top' class='form-control' 
      placeholder='Type Of Processor (Intel® Core™ i3 Processor)'>"; // there is bunch more of this type for input type 

      if (isset($_POST['submit'])) { 
        // Variable with data from form 
        $description_of_the_motherboard = $_POST['dotm']; 
        $type_of_processor = $_POST['top']; 
        $processor_description = $_POST['pd']; 
        $type_of_graphics_card = $_POST['togc']; 

        if(strlen($description_of_the_motherboard)!="") { 
        if(!preg_match("/[^\w\s,.\\\'\"\-\/]/", $description_of_the_motherboard) { 
         $sql = "insert query"; 
         mysqli_query($db, $sql); 

        } else echo "<script> 

        alert('Your input can not have special characters '); 

        </script>"; 
      }    
      } 
} 

Antwort

1

Fügen Sie einfach eine Flagge doppelte Anforderungen zu vermeiden.

Beispiel:

$(document).ready(function() { 
    var iAmProcessing = false; 
    $('.link').click(function(){ 
    if (iAmProcessing === true) { 
     return; 
    } 
    iAmProcessing = true; 
    $.post('ajax1.php?strana='+$(this).attr('strana'), function(odgovor) { 
     iAmProcessing = false; 
     $('#odgovor').html(odgovor); 
    }); 
    }); 
}); 
0

Daten senden die meisten sein, um in dem Array in der zweiten Parameter.

<script> 
    $(document).ready(function() { 
     $('.link').click(function(){ 
      $.post('ajax1.php',{strana:$(this).attr('strana'),function(odgovor){ 
       $('#odgovor').html(odgovor); 
      }); 
     }); 
    }); 
</script> 
Verwandte Themen