Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript UnlockField不在CakePHP中工作_Javascript_Forms_Security_Cakephp_Cakephp 2.4 - Fatal编程技术网

Javascript UnlockField不在CakePHP中工作

Javascript UnlockField不在CakePHP中工作,javascript,forms,security,cakephp,cakephp-2.4,Javascript,Forms,Security,Cakephp,Cakephp 2.4,只是想做一个标准的用户编辑页面。“密码”和“重新密码”开始隐藏,但可以通过单击“编辑密码”按钮“打开” 但是-我一直从安全组件得到“auth”黑洞错误 根据,我尝试在视图中使用此选项解锁字段(在字段之前、字段之后、表单内部、表单之前和表单末尾尝试: $this->Form->unlockField('User.password'); $this->Form->unlockField('User.re-password'); 但是-没有帮助。我能让它工作的唯一方法是完全解

只是想做一个标准的用户编辑页面。“密码”和“重新密码”开始隐藏,但可以通过单击“编辑密码”按钮“打开”

但是-我一直从安全组件得到“auth”黑洞错误

根据,我尝试在视图中使用此选项解锁字段(在字段之前、字段之后、表单内部、表单之前和表单末尾尝试:

$this->Form->unlockField('User.password');
$this->Form->unlockField('User.re-password');
但是-没有帮助。我能让它工作的唯一方法是完全解锁整个动作(似乎不理想):

如果我不禁用这些字段,它就会工作,但我需要禁用它们,因为如果我不禁用,内置的“notEmpty”特性在查找这些字段时会导致javascript错误

查看/HTML:

<div id="edit-password-area" style="display:none;">
    <div class="form-group">
        <label>Password</label>
        <?php echo $this->Form->input('User.password', array('class'=>'input-xxlarge form-control', 'value'=>'', 'disabled'=>'disabled')); ?>
        <p class="note">Must be at least 8 characters in length.</p>
    </div>
    <div class="form-group">
        <label>Verify Password</label>
        <?php echo $this->Form->input('User.re_password', array('type'=>'password', 'class'=>'input-xxlarge form-control', 'value'=>'', 'disabled'=>'disabled')); ?>
        <p class="note">Must exactly match the "Password".</p>
    </div>
</div>

<div id="edit-password-button-area">
    <a href="javascript:showPasswordArea();">Edit Password</a>
</div>

<div id="dont-edit-password-button-area" style="display:none;">
    <a href="javascript:hidePasswordArea();">Don't Edit Password</a>
</div>
<script>
function showPasswordArea() {
    $('#edit-password-area').show();
    $('#edit-password-area input').removeAttr('disabled');
    $('#dont-edit-password-button-area').show();
    $('#edit-password-button-area').hide();
    $('#UserPassword').focus();
}
function hidePasswordArea() {
    $('#edit-password-area').hide();
    $('#edit-password-area input').prop('disabled', 'disabled');
    $('#dont-edit-password-button-area').hide();
    $('#edit-password-button-area').show();
}
</script>

密码

长度必须至少为8个字符

验证密码

必须与“密码”完全匹配

Javascript:

<div id="edit-password-area" style="display:none;">
    <div class="form-group">
        <label>Password</label>
        <?php echo $this->Form->input('User.password', array('class'=>'input-xxlarge form-control', 'value'=>'', 'disabled'=>'disabled')); ?>
        <p class="note">Must be at least 8 characters in length.</p>
    </div>
    <div class="form-group">
        <label>Verify Password</label>
        <?php echo $this->Form->input('User.re_password', array('type'=>'password', 'class'=>'input-xxlarge form-control', 'value'=>'', 'disabled'=>'disabled')); ?>
        <p class="note">Must exactly match the "Password".</p>
    </div>
</div>

<div id="edit-password-button-area">
    <a href="javascript:showPasswordArea();">Edit Password</a>
</div>

<div id="dont-edit-password-button-area" style="display:none;">
    <a href="javascript:hidePasswordArea();">Don't Edit Password</a>
</div>
<script>
function showPasswordArea() {
    $('#edit-password-area').show();
    $('#edit-password-area input').removeAttr('disabled');
    $('#dont-edit-password-button-area').show();
    $('#edit-password-button-area').hide();
    $('#UserPassword').focus();
}
function hidePasswordArea() {
    $('#edit-password-area').hide();
    $('#edit-password-area input').prop('disabled', 'disabled');
    $('#dont-edit-password-button-area').hide();
    $('#edit-password-button-area').show();
}
</script>

函数showPasswordArea(){
$(“#编辑密码区域”).show();
$(“#编辑密码区域输入”).removeAttr('disabled');
$(“#不编辑密码按钮区域”).show();
$(“#编辑密码按钮区域”).hide();
$('#UserPassword').focus();
}
函数hidePasswordArea(){
$(“#编辑密码区域”).hide();
$(“#编辑密码区域输入”).prop('disabled','disabled');
$(“#不编辑密码按钮区域”).hide();
$(“#编辑密码按钮区域”).show();
}
尝试以下语法:

$this->Security->unlockedFields = array('yourfield');

你在哪里有机会解决这个问题?