2010-12-07 14 views
1

Ich habe ein Formular und ein div. Ich möchte, dass der Benutzer eine Textdatei auswählt und auf "Senden" klickt. Dadurch wird das div mit dem Inhalt der Datei gefüllt. Ich möchte das tun, ohne die Seite aktualisieren zu müssen.Submit HTML Formulartyp Datei mit AJAX

<form action="action.php" method="post" enctype="multipart/form-data"> 
Click the "Choose File" button and browse for the file to import.<br /><br /> 
<input type="file" name="filelocation" value="Browse" /><br /> 
<input type="submit" name="submitform" value="Submit" /> 
</form> 

<div id="filecontent"> 

</div> 

Antwort

1

Theres ist keine einfache Möglichkeit, das zu tun, aber u kann ein Iframe mit einem Ajax-Aufruf verwenden, um Ihre Datei auf den Server zu erhalten und bei damit dem normalen Ajax Weg

<form action="upload.php" method="post" enctype="multipart/form-data" target="upload_target" onsubmit="startUpload();" > 
File: <input name="myfile" type="file" /> 
<input type="submit" name="submitBtn" value="Upload" /> 
</form> 

Look arbeiten target = "yourhiddeniframe"

hier ist eine komplette Howto: http://www.ajaxf1.com/tutorial/ajax-file-upload-tutorial.html

Grüße

2

Es gibt keine einfache Möglichkeit, die Dateien über Ajax zu senden/hochzuladen. Sie können jedoch für die jQuery Uploadify plugin den Trick für Sie gehen.

Uploadify ist eine jQuery-Plugin, dass einen voll anpassbare mehrere Datei-Upload-Dienstprogramm auf Ihrer Website integriert. Es verwendet eine Mischung aus Javascript, ActionScript und allen serverseitigen Sprache dynamisch erstellen Sie eine Instanz über alle DOM Element auf einer Seite.

+0

Hmm können Sie nicht das Formular über Ajax an eine PHP-Datei senden? –

+0

@Dalton Conley: Sicher kannst du, aber das Problem kommt auf, wenn Sie versuchen, eine Datei über Ajax hochladen :) Sie müssen auf iframes/flash oder eine andere Lösung zum Hochladen von Dateien über Ajax zurückgreifen. – Sarfraz