it-swarm.com.de

Woher weiß ich, ob für meinen Eingabetyp = "Datei" Inhalt ausgewählt wurde?

ich habe eine einfache Eingabedatei <input type="file" name="file" id="file">, aber ich versuche nach dem Post zu überprüfen, ob die Eingabedatei Inhalt hat.

Ich versuche es mit $("#file").val(), aber das dom der Steuerelemente ist immer das gleiche.

19
MrMins

Was meinst du mit: nach dem Beitrag, meinst du:

- Nach einem Klick auf einen Submit-Button aber vor dem Posten oder Senden?

- Oder meinst du, nachdem es eingereicht wurde und der Inhalt den Server erreicht hat?

Wenn dies der erste Fall ist, stellen Sie sicher, dass Sie false an das Formular zurückgeben, damit es nicht gesendet wird. Anschließend können Sie Folgendes überprüfen:

<form onsubmit="return false">

oder versuchen Sie, einen Booleschen Wert in das Formular zurückzugeben, nachdem Sie beim Senden eine Validierungsfunktion aufgerufen haben:

<form onsubmit="return validate()">

Dann validieren Sie Ihre Daten mit Jquery:

function validate(){

  valid = true;

     if($("#file").val() == ''){
         // your validation error action
        valid = false;

     }

    return valid //true or false
}

wenn Sie Fehler finden, geben Sie false zurück. Wenn die Daten gültig sind, geben Sie true zurück. Nachdem Sie verstanden haben, wie es letztendlich funktioniert, können Sie all dies mit Jquery tun:

HTML:

<form id="fileform" action="nextpage.php">

JS:

$('#fileform').submit(function(){
     valid = true;

     if($("#file").val() == ''){
        // your error validation action
        valid =  false;
    }

    return valid
});

Wenn Sie überprüfen, welcher Dateityp übermittelt wird, können Sie auch diesen Beitrag überprüfen: jQuery - INPUT type = File, Image FileType Validation options?

Wenn Sie die Daten [~ # ~] nach [~ # ~] dem Absenden validieren möchten, müssen Sie die Validierung in einer Serverskriptsprache wie PHP codieren.

32
multimediaxp

versuchen Sie, den Wert nach dem Absenden des Formulars wie folgt zu ermitteln

$('#yourform').submit(function(){
     var val = $("#file").val();
    if(val == ''){
       return false;
    }
});
5
Mohamed Nagy

versucht zu validieren nach dem Beitrag

Dies wäre etwas, was Sie serverseitig tun würden und nicht auf dem Client über jQuery. Wenn Sie Ihre Frage mit der von Ihnen verwendeten serverseitigen Sprache versehen, können wir Ihnen die benötigte Hilfe anbieten.

4
m.edmondson