0
$("#bt-potrdi").click( function(e) {    
        e.stopPropagation();        
        $("#belina").css({"z-index":200}); $("body").addClass("ext");
        $("#vpisok_frame").css({"z-index":250}).fadeIn(200);        
    });

ボタンをクリックすると、このjqueryコードが実行され、正常に動作します。クリックイベントなしでこのコードを実行できますか?

たとえば、一部のデータが正常に実行されたときに、phpからこのコードを実行したい

if ($ok) {
?>
//execude ajax code
e.stopPropagation();        
            $("#belina").css({"z-index":200}); $("body").addClass("ext");
            $("#vpisok_frame").css({"z-index":250}).fadeIn(200);    
<?php
}

これは可能ですか?PHPはサーバー側のコードなので、これが可能であれば良い例が見つかりませんでした

4

6 に答える 6

4

他の提案と同様ですが、これは同じコードの 2 つのコピーを持つことに依存しません...

if ($ok) {
?>
<script type="text/javascript">
    $(function() {
        $("#bt-potrdi").trigger("click");
    });
</script>
<?php

クリック イベント ハンドラーを変更しても、これは引き続き機能します。これは、今後 2 か所で変更を加える必要がないことを意味します。

于 2012-11-06T15:34:47.057 に答える
2

質問が理解できれば、$oktrue の場合、ページの読み込み時に JavaScript を実行する必要があります。そのためには、次のようなことができる必要があります。

if ($ok) {
?>
<script type="text/javascript">
   //execute ajax code
   $("#belina").css({"z-index":200}); $("body").addClass("ext");
   $("#vpisok_frame").css({"z-index":250}).fadeIn(200);    
</script>
<?php
}

編集:また、どこにも定義されていないe.stopPropagation();ため、機能しません。e

于 2012-11-06T15:32:57.333 に答える
1

クラスを追加して、html がレンダリングされたときに z-index を設定できるようにコードを設計しますが、jquery でそれらを実行する場合は、jsut でそれらをラップして、<script>dom$(document).ready(function({});の準備ができたときに実行されます。

例えば。

if ($ok) {
?>
//execude ajax code
<script>
$(document).ready(function{

    $("#belina").css({"z-index":200}); $("body").addClass("ext");
    $("#vpisok_frame").css({"z-index":250}).fadeIn(200);    
});
</Script>
<?php
}

編集 質問e.stopPropagation();の例にもあったので、以前のどこかに設定されていると思います。とりあえず削除。

于 2012-11-06T15:35:24.043 に答える
1

$ok が true と評価された場合、PHP スクリプトが実行されると、生成されたドキュメントに jquery コードが含まれ、含まれていない場合は省略されます。ただし、この時点ではイベントがないため、次の行は機能しません。

e.stopPropagation();

ただし、jdwire が提案したように、JavaScript をスクリプト タグでラップし、イベントによってトリガーされることなく、そのように実行することができます。だから...次のように:

<?php
if ($ok) {
?>
<script type="text/javascript">
    $("#belina").css({"z-index":200}); $("body").addClass("ext");
    $("#vpisok_frame").css({"z-index":250}).fadeIn(200);    
</script>
<?php
}
?>
于 2012-11-06T15:37:37.917 に答える
0

あなたはタグでechoコードを出すことができ<script/>ます、そしてそれはJavaScriptとして実行されるでしょう、あるいはあなたが持っているコードでそれをタグの間に置くだけでそれはうまくいくはずです:)

しかし、これを「ライブ」で行うことはできません。ページが1回要求された場合のみ。

于 2012-11-06T15:30:45.540 に答える
0

この方法で、PHP 変数を javaScript に渡すこともできます。とてもきれいになったと思います。

$check = 1;

?>

...

<script type="text/javascript">

    var check = <?= $check; ?>;

    ...

    if (check)
    {
        $("#bt-potrdi").trigger("click");
    }
于 2012-11-06T15:45:34.817 に答える