我不得不问这个问题,因为我被卡住了,我认为这是因为我对 PHP 和 JavaScript 的理解还没有完全形成。我认为我开始尝试这样做的方式可能非常非常错误,但没有其他人的问题对我有意义。
Basicaly:我正在尝试在表单上添加一个 JavaScript 按钮,该按钮将添加额外的表单输入框,同时在 PHP 中添加额外的 SQL 代码,用于将新表单中的数据插入到我的数据库中。
我的 JavaScript 看起来像这样..
function addElement2() {
var ni = document.getElementById('SQLphoneDiv');
var numi = document.getElementById('theValue2');
var num = (document.getElementById('theValue2').value -1 + 2);
numi.value = num;
var newdiv = document.createElement('div');
var divIdName = 'SQLphoneDiv'+num+'';
newdiv.setAttribute('id',divIdName);
newdiv.innerHTML = ' <input type=hidden id=' +num+ ' value=' +num+ '> <?php $insert_phone = "INSERT INTO phone (Phone_Cust_ID,Phone_Numb,Ext) VALUES (\'$cust_ID[0]\',\'".$_POST[\'phone' +num+ '\']."\',\'".$_POST[\'ext' +num+ '\']."\')"; $add_phone = mysql_query($insert_phone); ?>';
ni.appendChild(newdiv);
}
“newdiv.innerHTML”是所有代码所在的位置,当我的 JavaScript 运行时,它会将其发送到我的 PHP 页面上的 DIV。
<?php
if (isset($_POST['submit'])) {
//add aditional phone numbers
echo '<input type="hidden" value="0" id="theValue2" />';
echo '<div id="SQLphoneDiv"></div>';
?>
我发现将回显部分放在“if”部分之外会使代码在我点击添加按钮时实际显示出来(至少显示了 DIV,当然它在 Dreamweaver 上的实时模式下没有显示 PHP)。
所以无论如何,如果我明白我刚刚弄清楚这是完全错误的,因为 PHP 是在页面运行后设置的,所以在事后尝试添加更多代码是没有意义的。我想对了吗?你会怎么做呢?AJAX 的东西?
非常感谢任何提示。
弥敦道