Javascript 点击提交按钮后输入字段获取(只读)
我有一个用PHP和smarty编写的脚本,我想在这个脚本中做一些更改,比如当用户单击配置文件设置并填写配置文件数据时,在用户配置文件设置中做一些更改,例如(全名、电子邮件、银行账号、银行名称、分行代码、磁砖等)填写此信息并单击“保存”按钮后,脚本保存所有设置,但我想在用户提交其数据后制作一些表单输入字段(只读),我想制作此数据(只读)(银行名称、账号、分行代码、标题)我指的是关于只读,即在用户填写此信息并将其保存在配置文件中并显示给用户后(只读)用户无法更改它,只有我可以从数据库中更改它 以下是表格代码Javascript 点击提交按钮后输入字段获取(只读),javascript,php,jquery,smarty,Javascript,Php,Jquery,Smarty,我有一个用PHP和smarty编写的脚本,我想在这个脚本中做一些更改,比如当用户单击配置文件设置并填写配置文件数据时,在用户配置文件设置中做一些更改,例如(全名、电子邮件、银行账号、银行名称、分行代码、磁砖等)填写此信息并单击“保存”按钮后,脚本保存所有设置,但我想在用户提交其数据后制作一些表单输入字段(只读),我想制作此数据(只读)(银行名称、账号、分行代码、标题)我指的是关于只读,即在用户填写此信息并将其保存在配置文件中并显示给用户后(只读)用户无法更改它,只有我可以从数据库中更改它 以下是
<form id="settingsform" onsubmit="return submitform(this.id);">
<input type="hidden" name="a" value="submit" />
Bank Name:
</td>
<td><input type="text" name="bank" id="bank" value="{$user_info.bank}"></td>
</tr>
<tr>
<td align="right" width="50%">
Bank Account Number:
</td>
<td><input type="text" name="baccount" id="baccount" value="{$user_info.baccount}"></td>
</tr>
<tr>
<td align="right" width="50%">
Bank Account Title:
</td>
<td><input type="text" name="btitle" id="btitle" value="{$user_info.btitle}"></td>
</tr>
<tr>
<td align="right" width="50%">
Bank Branch Code:
</td>
<td><input type="text" name="bcode" id="bcode" value="{$user_info.bcode}"></td>
</tr>
<input type="submit" name="btn" value="{$lang.txt.send}" class="orange" />
银行名称:
银行帐号:
银行账户名称:
银行分行代码:
而且我已经在尝试下面这样做了
<script>
function hide(){
document.getElementById("bank").disabled = true;
document.getElementById("baccount").disabled = true;
document.getElementById("btitle").disabled = true;
document.getElementById("bcode").disabled = true;
}
</script>
函数hide(){
document.getElementById(“银行”).disabled=true;
document.getElementById(“baccount”).disabled=true;
document.getElementById(“btitle”).disabled=true;
document.getElementById(“bcode”).disabled=true;
}
及
然后,只需检查POST/GET是否为您希望只读的字段设置->
<input type="text" name="country" value="Norway" <?php isset($_POST['country']) ? echo 'readonly' : ''; ?> >
>
只需将isset()中的变量替换为字段的变量,具体取决于初始化可能需要使用的变量的方式
空的()
相反,只需将isset()替换为!empty()
使用!符号的原因是,如果变量不是空的,则告诉代码执行第一位(回显部分)
更新2
<input type="text" name="country" value="Norway" {if isset($user_info.bank) } readonly {/if} >
上面的代码应该与smarty配合使用。不过,想法很简单,只要有一个“如果”语句来检查变量是否设置/有数据,如果有,则在输入字段中回显“readonly”尝试在submitform()
中使用
function submitform(id){
....
....
$('#bank,#baccount').attr('readonly','readonly');
return false;
}
更新
function hide(){
$("#bank,#baccount,#btitle,#bcode").prop('disabled', true);
}
或者试试看
function hide(){
$("#bank,#baccount,#btitle,#bcode").attr('disabled', 'disabled');
}
我可以看看我的代码,我已经尝试过了,但它仍然不适合我。我尝试过你的两个更新的代码,但它仍然不工作。它在配置文件设置表单中显示空的输入字段,也没有向数据库发送任何数据。这与我的代码相同。我已经用create.js文件尝试过,但仍然相同。i have更新了我的问题请看一看,并就此向我提出建议。因此,请确保我了解您想要的内容,一旦用户提交/保存其数据,您希望这些特定字段对该用户永久只读吗?@ShopSupportUpdated answer@ShopSupportbrother是您使用smarty模板文件的代码吗?应该是,我同意对于smarty来说,这是一个快速的过程,但是代码应该很容易翻译到smarty@ShopSupport
function submitform(id){
....
....
$('#bank,#baccount').attr('readonly','readonly');
return false;
}
function hide(){
$("#bank,#baccount,#btitle,#bcode").prop('disabled', true);
}
function hide(){
$("#bank,#baccount,#btitle,#bcode").attr('disabled', 'disabled');
}