1

我有一个包含多个输入字段、客户姓名和地址的 html 表单。当用户提交表单时,这些字段中的值被发送到由 2 个表组成的数据库中。

我还有一个带有“是”和“否”选项的下拉框。当表单被选出“ no”选择时,我需要值以正常的方式发送到数据库,但随后,我不再清除新条目的输入字段用户在其中输入的值。而地址字段为新条目重置。

然后,用户可以在地址字段中输入新值并再次按提交,这些值将被添加到我的数据库的地址表中,其中客户 ID 是他们之前输入的姓名/姓氏。

这将重复,直到他们按下表单上的不同按钮,然后发送最终地址并重置整个表单以输入新的客户。

到目前为止,我已经设置好了,因此用户可以输入客户姓名和地址并按提交,然后它将被发送到数据库,并且表单将重置为另一个客户条目。

这是我的表格,有 4 个输入字段,

<form name="add" method="post" action="newCustomer.php">
<div id="leftcol">
<label><span>Name</span><br /> <input type="text" name="addFname" /></label>
<label><span>Surname</span> <input type="text" name="addLname" /> </label>
<label><span>Single Site?</span><Select name="field" onchange="showHide(this.value)

</label>
<div id="rightcol">
<label><span>Address line 1</span><input type="text" name="addSiteLine1" /></label>
<label><span>Address line 2</span><input type="text" name="addSiteLine2" /></label>

到目前为止,我已尝试将其添加到我的 php 代码的底部

if($dropdown== "no"){
     disable_text(true);

     }

disable text 是一个禁用文本的javascript函数,但这没有做任何事情。

我还尝试在表单提交时调用此函数,但随后我的 $_POST 方法无法获取值。当我使用只读而不是禁用再次尝试设置时,似乎什么也没发生。

我基本上是试图避免需要第二个表单/网页来添加客户地址,并试图避免为多个地址添加多个输入框(因为有些可能有 100 多个地址)

编辑

$Dropdown 在 php 中定义为:

$dropdown = $_POST['field'];

形式为

<label><span>Single Site?</span><Select name="field" onchange="showHide(this.value);">
</label>
<Option value="yes">yes</option>
<Option value="no">no</option>

正在调用该函数,当该函数禁用所有文本字段时,我可以看到它发生,它们会闪烁灰色然后页面会刷新,我会收到错误消息说

    $fName = $_POST['addFname'];

无法定义。当我更改函数以使字段只读时似乎没有发生任何事情,它只会提交数据并清除表单以准备新输入。

4

1 回答 1

3

我可能不明白这个问题,如果我错了,请纠正我。你不能用javascript禁用字段并将字段值保存在会话变量中以带回表单吗?

document.getElementById('fieldToDisable').style.disabled= 'true';

制作会话变量标志,如果在页面加载时设置了该标志,则重新填写表单并禁用字段。

于 2012-08-21T17:37:16.980 回答