Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SyntaxError: '' string literal contains an unescaped line break

I have a console error that tells me this:

SyntaxError: '' string literal contains an unescaped line break

I have checked my syntax several times but I cannot correct the error. I'll copy the code to you if you can identify something.

    $('#nouveau').click(function(){
        $('#action').html('<?php echo preg_replace('/\s\s+/', '', $langs->trans("Delete") ); ?>');
        $('.titre_ecv').html('<?php echo addslashes(trim(preg_replace('/\s\s+/', '', $langs->trans("ecv_nouveau_formation")))); ?>');
        $('.nouveau').show();
        $('#valider').show();
        $id=$('#tr_formations tr').length+1; 
        $('#tr_formations').append('<tr><td><input name="action" type="hidden" value="create"><input type="text" name="formations['+$id+'][etablissement]" autocomplete="off" style="width:95%" /></td> <td style="width:10%;"> <select class="niveau flat" id="niveau" name="formations['+$id+'][niveau]" ><option value="0" ></option><option value="Qualifiant"  ><?php echo preg_replace('/\s\s+/', '', $langs->trans("Qualifiant") ); ?></option><option value="Bac" >Bac </option> <option value="Bac+1" >Bac+1 </option><option value="Bac+2" >Bac+2 </option><option value="Bac+3" >Bac+3 </option><option value="Bac+4" >Bac+4 </option><option value="Bac+5" >Bac+5 </option><option value="Master_specialisé" ><?php echo preg_replace('/\s\s+/', '', $langs->trans("Master_specialisé") ); ?> </option><option value="Master_recherche" ><?php echo preg_replace('/\s\s+/', '', $langs->trans("Master_recherche") ); ?> </option> <option value="Doctorat" >Doctorat </option></select> </td> <td ><input type="text"  name="formations['+$id+'][intitule]" autocomplete="off" style="width:95%" /></td> <td><input type="text"  name="formations['+$id+'][filiere]" autocomplete="off" style="width:95%" /></td><td style="width:8%;"><input type="text" name="formations['+$id+'][debut]" class="datepicker debut" value="<?php echo date('d/m/Y') ?>" onchange="MinDate(this);" autocomplete="off" /></td> <td style="width:8%;"><input type="text" name="formations['+$id+'][fin]" value="<?php echo date('d/m/Y') ?>" class="datepicker fin" onchange="MaxDate(this);" autocomplete="off" /><div align="center"><label><input type="checkbox" name="experiences['+$id+'][no_jours]" onchange="no_jourss(this);"> <b class="nos_jour"><?php echo trim(preg_replace('/\s\s+/', '', $langs->trans("ecv_no_jours") )); ?></b></label></div> </td><td align="center"><img src="<?php echo DOL_MAIN_URL_ROOT.'/theme/md/img/delete.png' ?>" class="img_delete" onclick="delete_tr(this);"></td></tr>');
        $( ".datepicker" ).datepicker({
            dateFormat: 'dd/mm/yy'
        });
        $(".niveau").select2()
    });

My job is to correct an existing code. Thank you for your help

like image 798
HeleneTitan Avatar asked Jan 07 '20 09:01

HeleneTitan


2 Answers

 $('#action').html(...)

and

 $('.titre_ecv').html(...)

have mixed ' and ", so there should be the error. Although that <?php... should not work, because PHP runs on the server and not on the web browser.

Edit

That might work:

$('#action').html("<?php echo preg_replace('/\s\s+/', '', $langs->trans('Delete') ); ?>");
$('.titre_ecv').html("<?php echo addslashes(trim(preg_replace('/\s\s+/', '', $langs->trans('ecv_nouveau_formation')))); ?>");
like image 149
Sixtus Avatar answered Sep 29 '22 13:09

Sixtus


Search engine brought me to this Q&A but the solution is totally different. It's posted just in case it helps others.

This error was searched:

Uncaught SyntaxError: '' string literal contains an unescaped line break

The line in question contained:

    alert('validUrlSyntax: ' + validUrlSyntax +
          ' validUrlExists: ' + validUrlExists +
          ' time to check: ' + elapsedTime + ' milliseconds`)

Notice the last apostrophe is really a back tick. Changing the back tick to an apostrophe ' solved the problem.

like image 30
WinEunuuchs2Unix Avatar answered Sep 29 '22 13:09

WinEunuuchs2Unix