2017-03-08 4 views
1

Wie speichere ich Text in einem Textfeld? Jedes Mal, wenn ich auf "Speichern" klicke, wird der alte Text aus dem Texteingabefeld entfernt. Er sollte nicht entfernt werden.Wie behalte Text nach einer Formularübermittlung bei (wie kann man sich nach dem Senden nicht selbst löschen?)

Ich möchte einen Online-Editor erstellen, und ich muss in der Lage sein, den aktuellen Text zu speichern, ohne den Text nach dem Speichern aus der Textbereich-Box zu entfernen.

var types = [ 
 
     {"extension": ".html", "name": "HTML"}, 
 
     {"extension": ".txt", "name": "Plain Text"}, 
 
     {"extension": ".js", "name": "Javascript"}, 
 
     {"extension": ".css", "name": "CSS"}, 
 
    ]; 
 
types.forEach(function(type) { 
 
    $opt = $("<option>").attr("value", type.extension).text(type.name) 
 
    $("#saveas").append($opt) 
 
}); 
 

 
function SaveAsType() { 
 
    console.log($("#saveas").val()); 
 

 
    { 
 
    var textToSave = document.getElementById("inputTextToSave").value; 
 
    var textToSaveAsBlob = new Blob([textToSave], { 
 
     type: "text/plain" 
 
    }); 
 
    var textToSaveAsURL = window.URL.createObjectURL(textToSaveAsBlob); 
 
    var fileNameToSaveAs = document.getElementById("inputFileNameToSaveAs").value + "" + $("#saveas").val(); 
 

 
    var downloadLink = document.createElement("a"); 
 
    downloadLink.download = fileNameToSaveAs; 
 
    downloadLink.innerHTML = "Download File"; 
 
    downloadLink.href = textToSaveAsURL; 
 
    downloadLink.onclick = destroyClickedElement; 
 
    downloadLink.style.display = "none"; 
 
    document.body.appendChild(downloadLink); 
 

 
    downloadLink.click(); 
 
    } 
 

 
} 
 

 
function destroyClickedElement(event) { 
 
    document.body.removeChild(event.target); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<textarea id="inputTextToSave" name="inputTextToSave" rows="10" cols="70" placeholder="Type your text here:"></textarea> 
 
    <br> 
 
    <textarea id="inputFileNameToSaveAs" rows="1" cols="70" placeholder=" Filename Save As " style="resize:none;"></textarea> 
 
    <br> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
    <script src="jquery.min.js"></script> 
 
    Save as 
 
    <select id="saveas"> 
 
     <option value="">Defoult ´´ TXT ´´ file or type your own file type</option> 
 
     <option value=".html">´´ HTML ´´ file</option> 
 
     <option value=".js">´´ JS ´´ file</option> 
 
     <option value=".css">´´ CSS ´´ file</option> 
 
     <option value=".txt">´´ TXT ´´ file</option> 
 
    </select><button onclick="SaveAsType();">Save</button>

+0

Kekse ?? HTML5 lokaler Speicher? –

+1

Vielen Dank für die Verkürzung meiner Antwort. Ich denke, mein Englisch ist nicht so gut, wenn man über Codes spricht. Danke ... @SWPhantom – SeekLoad

+1

Danke, lustig, obwohl nach vielen Versuchen, die Antwort zu finden, fand ich es allein. Aber ich werde die Frage online für diejenigen halten, die die gleiche Frage oder das Problem haben und nicht wissen, wie man es löst. Es ist albern, wie einfach die Lösung war und wie ich es gesehen habe. @ br3t – SeekLoad

Antwort

1

auf der Seite dieser Frage eine längere Zeit Nachdem, fand ich die Antwort mich meine eigenen auf. Es war eigentlich eine ziemlich einfache Lösung.

Ich habe gerade die:

<button onclick="SaveAsType();">Save</button> 

in

<input type="button" onClick="SaveAsType();" value=" Save "> 

Und Wallah, wird jetzt Text gehalten, nachdem gelöscht, ohne dass sie in dem Textfeld zu speichern.

HINWEIS: Ich werde die Frage online für diejenigen halten, die die gleiche Frage oder das Problem haben und nicht wissen, wie man es löst. Es ist albern, wie einfach die Lösung war und wie ich es gesehen habe.

Verwandte Themen