-1

所以基本上我们有一个按钮,当点击它时,它的值应该改变并且应该被禁用。我们的按钮从

<input class="saveButton" name="yt26" type="button" value="save" id="yt26">

变为

<input class="saveButton" name="yt26" type="button" value="saved" id="yt26" disabled>

不幸的是,在页面刷新之前,按钮在视觉上不会改变。我们正在使用$(this).attr("disabled","disabled")我们也尝试过的按钮来更改按钮$(this).prop("disabled", true)$(this).prop("disabled","disabled")但似乎都不起作用。如果你熟悉 Yii,下面贴出整个按钮代码:

echo CHtml::ajaxButton(
            'save', 
            Yii::app()->createUrl('dashboard/savelink'),
            array( // ajax options
                'type' => 'POST',
                'context' => "js:this",
                'success' => 'js:function() {$(this).attr("disabled", "disabled"); $(this).val("saved") ;}',
                'data' => array(
                    'commentLink' => $commentLink
                )
            ),
            array(
                'class'=>'saveButton'
            )
        );


在此先感谢,

4

2 回答 2

2

使用禁用的伪。这就是您的浏览器通常如何更改禁用输入或按钮的外观:disabled。根据您的喜好设置样式。还是把它放在你的全局 css 或你正在使用的 css 文件中

input:disabled, button:disabled{
  color:graytext;
  background: buttonface;
  border:1px solid;
}
于 2013-10-10T02:42:17.117 回答
0

我认为您应该添加$(this).attr("disabled", "disabled")ajax 的 beforeSend 选项。

echo CHtml::ajaxButton(
        'save', 
        Yii::app()->createUrl('dashboard/savelink'),
        array( // ajax options
            'type' => 'POST',
            'context' => "js:this",
            'beforeSend => js: function(){$(this).attr("disabled", "disabled"); },
            'success' => 'js:function() { $(this).val("saved") ;}',
            'data' => array(
                'commentLink' => $commentLink
            )
        ),
        array(
            'class'=>'saveButton'
        )
    );
于 2013-10-10T02:00:09.713 回答