'How do I correctly use these CakePHP functions as Javascript strings

for (i = 0; i < filesinput.files.length; i++){
        let row_i = document.createElement('tr');
        let row_i_data_1 = document.createElement('td');
        row_i_data_1.innerHTML = '<?php $this->Form->control("submittedfiles[' + i + '][description]", ['type'=>'text', 'value'=>$file['name'], 'label'=>'']); ?>'
        let row_i_data_2 = document.createElement('td');
        row_i_data_2.innerHTML = '<?php $this->Form->control("submittedfiles['+i+'][date]", ['type'=>'datepicker', 'default'=>Cake\I18n\Time::now(), 'label'=>'']); ?>';
        let row_i_data_3 = document.createElement('td');
        row_i_data_3.innerHTML = '<?php $this->Form->control("submittedfiles['+i+'][time]", ['label'=>'', 'type'=>'text', 'default' => date('H:i')]); ?>';
        
        row_i.appendChild(row_i_data_1);
        row_i.appendChild(row_i_data_2);
        row_i.appendChild(row_i_data_3);
        tbody.appendChild(row_i);
    }

I'm trying to generate a table with inputs when files are selected in the filesinput. The table generation works, but I'm having trouble with getting the strings to accept the php code. The code enclosed by <?php ?> gets converted to html forms when compiling, and JavaScript shouldn't have a problem with HTML as strings, so I don't understand what's going wrong here.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source