如何用JavaScript编写此HTML/PHP代码

如何用JavaScript编写此HTML/PHP代码,javascript,php,html,Javascript,Php,Html,我有这段代码,我正试图用JavaScript编写它,以便将document.getElementById().innerHTML设置为该代码,然后以html显示。 我不能用JavaScript写这段代码,这里有人吗 <form action='create_new_invoice.php?name="<?php echo $row['Email']; ?>"' method="post" style="border: 0; padding: 0;"> <input

我有这段代码,我正试图用JavaScript编写它,以便将
document.getElementById().innerHTML
设置为该代码,然后以html显示。
我不能用JavaScript写这段代码,这里有人吗

<form action='create_new_invoice.php?name="<?php echo $row['Email']; ?>"' method="post" style="border: 0; padding: 0;">
<input type="hidden" name="Date" value="<?php echo $row["Date"]; ?>" />
<input type="hidden" name="StartTime" value="<?php echo $row["StartTime"]; ?>" />
<input type="hidden" name="FinishTime" value="<?php echo $row["FinishTime"]; ?>" />
<input type="hidden" name="Email" value="<?php echo $row['Email']; ?>"></input>
<input type="hidden" name="Forename" value="<?php echo $row['Forename']; ?>"></input>
<input type="hidden" name="Surname" value="<?php echo $row['Surname']; ?>"></input>
<input type="submit" class='NewInvoice hidden-xs' style="border: 0; padding: 0;" value="New Invoice"></input>

您可以在javascript中创建字符串:

var htmlForm = '<form action="create_new_invoice.php?name='+  javascriptObject['Email']; +'" method="post" style="border: 0; padding: 0;">\
                <input type="hidden" name="Date" value="'+  javascriptObject["Date"]; +'" />\
                <input type="hidden" name="StartTime" value="'+  javascriptObject["StartTime"]; +'" />\
                <input type="hidden" name="FinishTime" value="'+  javascriptObject["FinishTime"]; +'" />\
                <input type="hidden" name="Email" value="'+  javascriptObject['Email']; +'"></input>\
                <input type="hidden" name="Forename" value="'+  javascriptObject['Forename']; +'"></input>\
                <input type="hidden" name="Surname" value="'+  javascriptObject['Surname']; +'"></input>\
                <input type="submit" class="NewInvoice hidden-xs" style="border: 0; padding: 0;" value="New Invoice"></input>';
可以存储在javascript对象中的动态数据:

var javascriptObject = {
  "Email" : null,
  "Date" : null,
  "StartTime" : null,
  "FinishTime" : null,
  "Email" : null,
  "Forename" : null,
  "Surname" : null
};

将HTML与Javascript代码分开可能是个好主意。PHP在服务器上运行,它被渲染成文本/html并发送到浏览器,在那里它被解析成一个对象。通过分离代码,您可以重用某些东西,而无需重写所有内容。首先定义HTML:

<form id="myform" action="#" method="post" style="border: 0; padding: 0;">
    <input type="hidden" name="Date" value="" />
    <input type="hidden" name="StartTime" value="" />
    <input type="hidden" name="FinishTime" value="" />
    <input type="hidden" name="Email" value="" />
    <input type="hidden" name="Forename" value="" />
    <input type="hidden" name="Surname" value="" />
    <input type="submit" class='NewInvoice hidden-xs' style="border: 0; padding: 0;" value="New Invoice" />
</form>

然后在底部,或者使用window.onload偶数处理程序,具有如下内容:

<script type="text/javascript">
var myform = document.getElementById( 'myform' ); 
myform.setAttribute( "action", "/create_new_invoice.php?name=[VALUE]" ); 
myform["Date"].value = "[VALUE]";
myform["StartTime"].value = "[VALUE]";
myform["FinishTime"].value = "[VALUE]";
myform["Email"].value = "[VALUE]";
myform["Forename"].value = "[VALUE]";
myform["Surname"].value = "[VALUE]";
</script>

var myform=document.getElementById('myform');
myform.setAttribute(“action”,“/create_new_invoice.php?name=[VALUE]”;
myform[“日期”]。value=“[value]”;
myform[“StartTime”]。value=“[value]”;
myform[“FinishTime”]。value=“[value]”;
myform[“Email”]。value=“[value]”;
myform[“Forename”]。value=“[value]”;
myform[“姓氏”]。value=“[value]”;

这将填充表单,并可以转化为一个函数,在该函数中,如果需要,您可以重用它来更新表单的值,而不会影响HTML

太好了,谢谢!做了一点小修补,但效果不错啊,我不知道你能做到,谢谢!
<script type="text/javascript">
var myform = document.getElementById( 'myform' ); 
myform.setAttribute( "action", "/create_new_invoice.php?name=[VALUE]" ); 
myform["Date"].value = "[VALUE]";
myform["StartTime"].value = "[VALUE]";
myform["FinishTime"].value = "[VALUE]";
myform["Email"].value = "[VALUE]";
myform["Forename"].value = "[VALUE]";
myform["Surname"].value = "[VALUE]";
</script>