这里我有10个输入字段。然后,当用户单击“提交”按钮时,我希望已修改的唯一输入字段发送到数据库并更新而不是发送到数据库的所有输入字段。
我怎样才能实现它?
答案 0 :(得分:1)
如果您需要保存用户触摸的字段,请参阅第一个变体。但缺点是如果用户将字段“abc”更改为“xyz”然后将其更改为“abc”,则该字段将被标记为已更改。如果这不是您想要的,请参阅下一个变体。
(1)
您可以在字段中使用onchange()
事件在修改字段时设置变量。然后使用input hidden
字段将这些变量发送到服务器。像这样:
<input type='text' name='input1' onchange="getElementsByName('input1changed')[0].value = 1;">
<input type='text' name='input2' onchange="getElementsByName('input2changed')[0].value = 1;">
<input type='hidden' name='input1changed' value=0>
<input type='hidden' name='input2changed' value=0>
然后在您的PHP代码中:
if ($_POST['input1changed'])
store $_POST['input1']
if ($_POST['input2changed'])
store $_POST['input2']
(2)
<input type='hidden' name='input1old' value='sometext1'>
<input type='text' name='input1' value='sometext1'>
<input type='hidden' name='input2old' value='sometext2'>
<input type='text' name='input1' value='sometext2'>
并在PHP中:
if ($_POST['input1old'] != $_POST['input1'])
store $_POST['input1']
if ($_POST['input2old'] != $_POST['input2'])
store $_POST['input2']
答案 1 :(得分:0)
您可以比较2个阵列。
第一个是您在网站上加载的数据,第二个是$_POST
数组。
答案 2 :(得分:-1)
您可以检查您的php是否设置了输入并相应地写了一个查询。
if(isset($_POST['name'])){
<!-- query -->
}