我有一个触发“删除”事件的按钮。如果用户决定继续,则此事件通过存储过程更新db条目。但是,用户只能将某个位置标记为已关闭(它们无法恢复为打开状态)。对于open,将位置的默认值声明为字符串status =“1”(并且在存储过程中将varchar(1)等于'1')。如果状态为“0”,则表示该位置已关闭。
我的问题是......如何才能使事件反映出我的控制器处理更新的变化?将变量声明为字符串是否重要?
按钮:
Id | sellid | buyid
1 | 4 | 1
2 | 6 | 2
3 | 7 | 3
4 | 8 | 1
JS:
<button type="submit" name="RemoveAccount" id="RemoveAccount" onclick="Confirm_delete()" value="@Model.Location.status">Remove</button>
答案 0 :(得分:1)
只需在您的函数中添加if
:
function Confirm_delete(el) {
if (el.value === '1') {
el.value = '0';
return confirm('Are you sure you want to remove this entry?');
}
return false;
}
正如@Alex在评论中提到的,请将onclick
更改为return Confirm_delete(this)
。注意我还添加了this
作为参数,以明确我们想要获得对该按钮的引用。
请注意,由于您拥有type="submit"
按钮,因此按钮应提交表单,这将导致服务器参与其中。如果您已正确映射模型,则页面重新呈现时@Model.Location.status
的值应更改为“0”。