0

私はフォーラムスクリプト(単純なマシンフォーラム)で作業しています。これは、この種のjavascript確認メッセージを使用しています。

<a href="http://domain.net/index.php?action=deletemsg;topic=1.0;msg=1;c6c7a67=f9e1fd867513be56e5aaaf710d5f29f7" onclick="return confirm('Remove this message?');">Remove</a>

そして、代わりにjgrowlを使用したいと思います...次のようなものです。

<a href="http://domain.net/index.php?action=deletemsg;topic=1.0;msg=1;c6c7a67=f9e1fd867513be56e5aaaf710d5f29f7" onclick="$.jGrowl('Remove this message?', { header: 'Confirmation', sticky: true });"/>Remove</a>

しかし...jgrowlを使用して真/偽のJavaScriptリターンを達成する方法は?これはたった1行で実行できますか?

よろしくお願いします!ルチアーノ

4

1 に答える 1

0

href の使用をサポートするように編集されました

jGrowl はモーダルではなく、ページの動作をブロックするため、そのようにすることはできません。

ただし、選択が完了した後に実行するコードの関数を作成し、通知内から呼び出すことができます

この例を確認してくださいhttp://jsfiddle.net/rcxVG/11/

html

<body>
    <a href="javascript: startDemo(1); alert('a');">link for 1</a><br>
    <a href="javascript: startDemo(2); ">link for 2</a><br>
        Will we notify again<div id="will-notitfy-again">yes</div>

    <br>
    now... If you want to return then
    <a href="http://www.google.com" data-confirmed="false" onclick="return returnModal(this);">click me</a>
</body>

js

function startDemo(id)
{
    $.jGrowl("to do not notify again click <a href='javascript:notFor("+id+")' onclick='closeNotif(this);'>here</a>!", { sticky: true });
}

function notFor(id){
    alert("not anymore for "+id);
    $("#will-notitfy-again").html("remember, notFor was hit for"+id);

}

function closeNotif(panel){
    $(".jGrowl-notification").has(panel).find(".jGrowl-close").click();
}
var counter=0;
var confirmedAttr="data-confirmed";
function returnModal(field){
    var $field=$(field);
    if($field.attr(confirmedAttr)=="true"){
        location.href=$field.attr("href");
    }else{
        counter++;
        //save the element somewhere so we can use it (don't know if it has an unique-id)
        $(document).data("id"+counter,$field);
        $.jGrowl("click <a href='javascript:confirmClick("+counter+")' onclick='closeNotif(this);'>here</a> to go to google!", { sticky: true });
        return false;
    }
}
function confirmClick(variableId){
    var $field=$(document).data("id"+variableId);
    $field.attr(confirmedAttr,"true");
    $field.click();
}

これで十分かどうか教えてください

于 2011-08-30T22:33:03.747 に答える