1

我的朋友在下面为自定义控件编写代码

<a href="javascript:__doPostBack('id','msg');">click</a>

现在我想在单击此锚链接时显示确认对话框。

是否可以?。我想将脚本编写为内联。

4

3 回答 3

3

做这个 :

<a href="javascript:if (window.confirm('Really?')){__doPostBack('id','msg');};">click</a>

但是在某些时候,您可能希望停止仅使用内联代码,并查看其他更清晰的方法来在代码中添加 javascript。

您可以在 HTML 文件的 HEAD 中使用这样的脚本块:

<script>
    function doOnClick(){
       if (window.confirm('Really?')){
           __doPostBack('id','msg');
       };
    }
</script>

然后你的链接变成

<a href="javascript:doOnClick();">click</a>

当然,仅使用一个函数感觉并不简单,但它可以帮助您将所有函数放在同一个位置,并使 html 更轻、更清晰。


另一种方法是使用jQuery,这样您就可以完全避免将 javascript 放入 html 部分。

然后是html

<a id=myLink>click</a>

你的脚本,现在在正文的末尾,是这个:

<script>
   $(document).ready(function(){
       $('#myLink').click(function(){
           if (window.confirm('Really?')){
               __doPostBack('id','msg');
           };
       });

       // other codes will come here
   });
</script>

您现在根本不需要以这种方式编写代码,因为您只有一个非常轻量级的函数,但如果您的代码增长,我建议您开始考虑它并查看 jquery 教程。

于 2012-06-21T09:28:04.777 回答
1

当然。这是一个小片段,不优雅,但它有效......

<a href="javascript:if(confirm('Do you really want to post?')) {__doPostBack('id','msg');};">click</a>
于 2012-06-21T09:28:52.590 回答
1

我实际上不得不查找这个,因为我没有使用过confirmalert而且prompt很长时间了。

confirm根据用户选择的内容返回真/假(分别为确定/取消)。

所以你的结果代码将是

<a href="javascript:if (confirm('Are you sure?')) __doPostBack('id','msg');">click</a>
于 2012-06-21T09:30:36.663 回答