所以基本上我们有一个按钮,当点击它时,它的值应该改变,它应该被禁用。我们的按钮来自
<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'
)
);
提前致谢,你好
答案 0 :(得分:1)
使用disabled伪。这就是您的浏览器通常如何更改已禁用输入或按钮:disabled
的外观。根据您的喜好设置样式。尽管如此,将它放在你正在使用的全局css或css文件中
input:disabled, button:disabled{
color:graytext;
background: buttonface;
border:1px solid;
}
答案 1 :(得分:0)
我认为你应该在ajax的beforeSend选项中添加$(this).attr("disabled", "disabled")
。
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'
)
);