Forum Moderators: open
I am reading a few lines from a textarea and writing into a file.
My jsp looks like this
<textarea>
line1=this_is_my_first_line
line2=this_is_my_second_line
line3=this_is_my_third_line
</textarea>
When i click on save, the value from this textarea needs to be written to a file. I do this:
var textareaValue = document.getElementById('textareaId').value;
http.open('get', '/myApp/SaveDataToFileService?fileInfo='+textareaValue );
The data gets sent successfully and gets written into a text file. But there are no line breaks in the file.
Next time i read the file, it shows up like this in the textarea:
<textarea>
line1=this_is_my_first_lineline2=this_is_my_second_lineline3=this_is_my_third_line
</textarea>
How do i preserve the line breaks in the textarea?
What kind of scripting language are you using to write the text to a file? I know PHP has a nice little function that converts the carriage returns to line breaks: nl2br [php.net].
I am having the exact same issue as you. Did you ever find a problem.
below is my code:
for (var i = 0; i < document.forms.length; i++)
{
for (var j = 0; j < document.forms[i].elements.length; j++)
{
if (document.forms[i].elements[j].type == 'text') document.forms[i].elements[j].onchange = My_events;
if (document.forms[i].elements[j].type == 'radio') document.forms[i].elements[j].onchange = My_events;
if (document.forms[i].elements[j].type == 'textarea') document.forms[i].elements[j].onchange = My_events;
if (document.forms[i].elements[j].type == 'checkbox') document.forms[i].elements[j].onclick = My_events;
if (document.forms[i].elements[j].type == 'file') document.forms[i].elements[j].onchange = My_events;
if (document.forms[i].elements[j].type == 'password') document.forms[i].elements[j].onchange = My_events;
if (document.forms[i].elements[j].type == 'select') document.forms[i].elements[j].onchange = My_events;
if (document.forms[i].elements[j].type == 'select-one') document.forms[i].elements[j].onchange = My_events;
if (document.forms[i].elements[j].type == 'select-multiple') document.forms[i].elements[j].onchange = My_events;
}
}
function My_events(e)
{
var ie = navigator.appName == "Microsoft Internet Explorer";
var tag = ie ? window.event.srcElement : e.target;
//changeStyles();
update_dbase(tag);
}
function update_dbase(the_field)
{
updateStyleByClassName(the_field);
document.getElementById('message_' + the_field.name).style.display = 'block';
var fieldname = the_field.name;
var fieldvalue = the_field.value;
xmlhttp = new XMLHttpRequest();
if(the_field.type == 'file')
xmlhttp.open("GET", '/include/globals/customforms/ajax_file_updater.php?field_name=' + the_field.name + '&field_value=' + the_field.value + '&form_id=' + form_id + '&customforms_count=' + customforms_count , true);
else
xmlhttp.open("GET", '/include/globals/customforms/ajax_updater.php?field_name=' + the_field.name + '&field_value=' + the_field.value + '&form_id=' + form_id + '&customforms_count=' + customforms_count , true);
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4) document.getElementById('message_' + the_field.name).innerHTML = xmlhttp.responseText;
}
xmlhttp.send(null)
}
function updateStyleByClassName(the_field)
{
var testClass = new RegExp("(^¦\\\\s)updatingframe(\\\\s¦$)");
var tag = 'div';
var elm = elm ¦¦ document;
var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
var returnElements = [];
var current;
var length = elements.length;
for(var i=0; i<length; i++)
{
current = elements[i];
if(testClass.test(current.className))
{
current.style.display = 'none';
}
}
} BTW: I am using PHP and nl2br does not work when using before inserting.