tobmes
Goto Top

Jquery Formular absenden

Hi Experten,

ich versuche mich gerade an jquery. Ich habe bis jetzt die Formular immer direkt mittels PHP übermittelt. Jetzt würde ich gerne auf jquery umsteigen. Leider bekomme ich das Formular aber nicht in die Datenbank geschrieben. Hier mal meine Codes:

jquery(lager.js)
unction submitData() {

    $('#articleForm').submit(function (event) {  
        event.preventDefault();
        $.ajax({
            type: 'POST',  
            url: 'insertData.php',  
            data: $(this).serialize(),
            success: function () {
                $('#submitArticle').removeClass("btn btn-primary").addClass("btn btn-danger");  
            }
        });
        $("#articleForm").reset();  

    });
}

das Formular(Stock.php)
private function generateView()
    {
        $this->generatePageHeader('Verwaltung');  
        $this->generateMenu();
        $articleName = $_POST['articleName'];  
        $article = new Article();
        $sL = new StorageLocation();
        $storeageName = $sL->generateDropdownStoreageName();
        echo <<< showHTML
<h1>$articleName</h1>
showHTML;
        $a = $article->showStockOptionized($articleName, "1");  
        $fullAvailable = $article->showStockOptionized($articleName, "0");  

        foreach ($a as $key => $value) {
            echo <<< showHTML
            <div class="inline">  
            <h3><span class="label label-primary">Optioniert<span class="badge">$value</span></span></h3>  
</div>
showHTML;
        }
        foreach ($fullAvailable as $key => $value) {
            echo <<< showHTML
            <div class=inline>
            <h3><span class="label label-primary">Bestand<span class="badge">$value</span></span></h3>  
            </div>
showHTML;




        
            echo <<< showHTML
            <button type="link" class="btn btn-link" data-toggle="modal" data-target="#myModal">  
            <span class="glyphicon glyphicon-info-sign"></span>  
            Info
            </button>
<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">  
  <div class="modal-dialog">  

    <!-- Modal content-->
    <div class="modal-content">  
      <div class="modal-header">  
        <button type="button" class="close" data-dismiss="modal">&times;</button>  
        <h4 class="modal-title">Modal Header</h4>  
      </div>
      <div class="modal-body">  
        <p> Einlagerungs informationen anzeigen</p>
      </div>
      <div class="modal-footer">  
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>  
      </div>
    </div>

  </div>
</div>

showHTML;
            }


        echo <<< showHTML

<div class="container">  
  <h2>Artikel hinzufügen</h2>
  <form class="form" id="articleForm">  
  <select name="dropStatus" size="1" id="dropStatus" onchange="readOnlyInput();">  
  <option selected value="0">Einlagern</option>  
  <option value="1">Bestätigt</option>  
  </select>
  <select name="dropStoreageName" size="1" id="dropDwn">  
<option selected> Lagerort</option>
showHTML;
        foreach ($storeageName as $key => $value) {
            $value = htmlspecialchars($value);
            $key = htmlspecialchars($key);
            echo <<< showHTML
        <option value="$key">$value</option>  
showHTML;
        }

        echo <<< showHTML
    </select>     
  
    <div class="form-group">  
      <label for="article">Artikel:</label>  
      <input type="text" name="article" class="form-control" id="article" value="$articleName" placeholder="Artikelname" readonly>                 
    </div>
    <div class="form-group">  
      <label for="comment">Kommentar:</label>  
      <input type="text" name="comment" class="form-control" id="comment" placeholder="Kommentar eingeben">  
     </div>
    <div class="form-group">  
      <label for="customer">Kunde:</label>  
      <input type="text" name="customer" class="form-control" id="customer" placeholder="Kunde eingeben" readOnly>  
     </div>
    <div class="form-group">  
      <label for="amount">Menge:</label>  
      <input type="text" name="amount" class="form-control" id="amount" placeholder="Menge eingeben">  
     </div>
      <div class="form-group">  
      <label for="amount">min Bestand</label>  
      <input type="text" name="minStock" class="form-control" id="minStock" placeholder="min. Bestand eingeben">  
     </div>
      
     <input type="submit" name="submitArticle" class="btn btn-primary" value="Speichern" id="submitArticle" onclick="submitData();"/>  
           
</form>
</div>

showHTML;



        $test = $article->getArticleHistory($articleName);

        foreach ($test as $key => $value) {
            echo <<< showHTML
        <p> $key $value </p>
showHTML;

        }


        $this->generatePageFooter();
    }

Zum übermitteln der Daten habe ich eine Zwischenseite in PHP erstellt (insertData.php)
require_once './Page.php';  
require_once './Article.php';  

        if (isset($_POST['submitArticle'])) {  
            $article = $_POST['article'];  
            $comment = $_POST['comment'];  
            $amount = [$_POST['amount']];  
            $storeageLocation = $_POST['dropStoreageName'];  
            $status = $_POST['dropStatus'];  
            $minStock = $_POST['minStock'];  
            $customer = $_POST['NULL'];  
            $storeArticle = new Article();
            $storeArticle->addNewArticle($status, $customer, $article, $minStock, $comment,$storeageLocation, $amount);

        }

Und hier soll dann das Zuug in die Datenbank geschrieben werden
class Article extends Page
{
    
function __construct()
{
parent::__construct();

}
public function addNewArticle($status, $customer, $article, $minStock, $comment, $storeageLocation, $amount)
    {

        for ($i = 0; $i < $amount; $i++) {
            $sql = "INSERT INTO stock(status,customer,articleName,minStock,comment,f_storageLocationID) VALUES('$status','$customer','$article','$minStock','$comment','$storeageLocation')";  
            if ($sql) {
                throw new Exception('Fehler beim scheiben in die Datenbank' . $sql);  
            }

            mysqli_query($this->db, $sql);
        }
    }

Kann mir jemand Helfen. Ich steh da grad voll auf dem Schlauf. Danke schon mal

Gruß
tobmes

Content-Key: 324552

Url: https://administrator.de/contentid/324552

Ausgedruckt am: 19.03.2024 um 02:03 Uhr

Mitglied: tobmes
tobmes 22.12.2016 um 13:17:07 Uhr
Goto Top
OK habs gefunden. Wenn natürlich auch die Prüfung in der Artikel-KLasse in Zeile 14 true ist und ich da eine Exeption schmeisse, anstatt das Zeug in die DB zu schreiben kann es ja auch nicht funktionieren. face-smile