输入字段在按下提交按钮后获取(只读)

时间:2015-02-18 08:19:35

标签: javascript php jquery smarty

我有一个用PHP和smarty编码的脚本,当用户点击个人资料设置并填写个人资料数据(如全名,电子邮件,银行账户)时,我希望在此脚本中进行一些更改,如用户个人资料设置数字,银行名称,分支代码,磁贴等)填写此信息后单击保存按钮脚本保存所有设置但我想在用户提交他/她的数据之后制作一些表单输入字段(readonly)我想要这个数据(readonly)(银行名称,帐号,分行代码,标题)我的意思是readonly在用户填写此内容并将其保存在配置文件中后,其显示给用户(只读)用户无法更改它只有我可以更改它数据库。

以下是表单代码

<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>

<input type="button" onClick="hide()" value="save">

2 个答案:

答案 0 :(得分:1)

<input type="text" name="country" value="Norway" readonly>

http://www.w3schools.com/tags/att_input_readonly.asp

然后,只需检查POST / GET是否为您想要只读的字段设置 - &gt;

<input type="text" name="country" value="Norway" <?php isset($_POST['country']) ? echo 'readonly' : ''; ?> >

<强>更新

<input type="text" name="country" value="Norway" <?php isset($user_info.bank) ? echo 'readonly' : ''; ?> >

只需将isset()内部的变量替换为字段变量,具体取决于初始化可能需要使用的变量的方式

  

空()

相反,要做到这一点,只需用!empty()

替换isset()即可

原因! sign是告诉代码执行第一位(echo部分),如果变量ISN&#39; T为空

更新2

<input type="text" name="country" value="Norway" {if isset($user_info.bank) } readonly {/if} >

以上代码应该巧妙地使用,这个想法很简单,只需要一个&#34; if&#34;判断变量是否设置/有数据的句子,如果确定,则回显“只读”#39;在输入字段

答案 1 :(得分:0)

尝试在submitform()中使用attr()

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');
}