-1

我有一个 html 按钮,应该在按钮单击时触发 javascript。它识别按钮单击并显示确认警报,但不会继续并发布 console.logs 或进入 ajax 方法。这是javascipt函数:

      $('.Delete')
         .click(function() {
    return confirm("Are you sure you'd like to delete this entry?"
        if(return = true)
    {
                 var parent = $(this).parent().prev();
                 var tr = $(this).closest('tr');


                 var ValNode = tr.find(".typeText").first();
                 var AddrNode = parent.children(".AddrText").first();

                 var Val = ValNode.val();
                 var addr = addrNode.val();

                 console.log(Val);
                 console.log(addr);

                 var item = { Value: Val, Address: addr }
                 deleteItem(userID, item);
    }

         });

这是html元素,我认为它可能与按钮与其调用的元素的关系有关。我把他们当作堂兄弟。

<asp:ListView runat="server" id="ListView1" >
        <LayoutTemplate>
                <thead>
                    <tr>
                        <th>
                            <a href="#">Type</a>
                        </th>
                        <th>
                            <a href="#">Address</a>
                        </th>                                                                                    
                    </tr>
                </thead>
                <tbody>
                    <tr id="itemPlaceholder" runat="server" />
                </tbody>
                <tfoot>
                </tfoot>
            </table>
        </LayoutTemplate>
        <ItemTemplate>
            <tr>
                <td>
                   <input type="text" id="Type" class="TypeText "  value="<%# Eval("Type")%>" />                     
                   <input type="text" id="Addr" class="AddrText "  value="<%# Eval("Address")%>" />                
                </td>
                <td>
                   <input type="button" id="btn_update" class="Update" value="Update" />
                   <input type="button" id="btn_delete" class="Delete" value="Delete" />
                </td>
            </tr>
        </ItemTemplate>
    </asp:ListView>
4

4 回答 4

2

1.return是 JavaScript 中的保留字。它用于指定函数返回给调用者的内容。不要将它用于变量名。

改变

return confirm("Are you sure you'd like to delete this entry?"

var result = confirm("Are you sure you'd like to delete this entry?");

2.您的if条件检查不正确

改变

if(return = true)

if(result == true)

于 2013-02-11T15:35:49.860 回答
1

return是一个保留关键字,它将执行返回到调用当前函数的函数。你需要这样的东西:

var retVal = confirm("Are you sure you'd like to delete this entry?");
if (retVal) {...}
于 2013-02-11T15:37:02.440 回答
1

你的问题在于return

$('.Delete')
    .click(function() {
        var sure = confirm("Are you sure you'd like to delete this entry?");
        if (sure) {
            var parent = $(this).parent().prev();
            // ...
            // the rest
            // ...
        }
    });

return是 JavaScript 中的保留字,所以你应该使用别的东西。

于 2013-02-11T15:37:35.817 回答
0

我会做类似的事情

if (confirm(....))
{
}

导致“返回”退出您的功能。

于 2013-02-11T15:41:15.723 回答