0

URL経由で文字列が渡されたときに、Webページで特定のボタンのクリックを実行しようとしています。

...url?key=button1

HTML:

 <button type="submit" id="button1" value="*some other url*" >Button 1</button

次に、次のjqueryがあります。

var locate = window.location;
locate = locate.toString();
var text = locate;

$(function(){
 var temp = "?key="; 
        if (text.indexOf(temp) !== -1)
        {
        var position = text.indexOf(temp) + temp.length;
        text = text.substring (position); 
       $(window).load(function ()
            { 
                if (text == 'button1')
                {
                    $("#button1").trigger('click');
                } 
            })
        }             
   }) 

さらに、私のjqueryには次のコードがあります

$("#button1").live("click", function() {

     $('#userform').attr('target', '_blank'); 
     $('#userform').delay(3000).queue(function()
           {
            $('#userform').attr('target', '').dequeue();
           });
});

それなら、私が上記のことをしている理由は私のコントロールの範囲外です。

プライバシー上の理由から、私が言えることは、ページが送信を実行し、送信ボタンの値で指定されたページにリダイレクトするということだけです。

現在、ページはあなたが考えているように動作します。

ユーザーがボタンをクリックし、フォーム ターゲットが「_blank」に設定され、フォームがデータを送信し、ボタンの値の URL にリダイレクトされます。ボタンをクリックすると、新しいタブが開きます。

ただし、私の問題は、URL の情報を含むページの読み込み時に、ボタンのクリックが実行されますが、通常のように新しいタブで開くのではなく、新しいウィンドウで開くことです。

ユーザーがボタンをクリックして新しいタブで開くのではなく、.trigger('click') または $("#button1").click() を実行すると、新しいウィンドウで開く理由はありますか?

4

2 に答える 2

1

click を使用して button1 にバインドしている関数内で、ボタンのデフォルトの動作 (指定された URL に送信する) を防止する必要があります。)

于 2012-07-16T20:46:56.333 に答える
0

.click()要素自体 (つまり、jQuery オブジェクトではない) でメソッドを呼び出してみてください。

var btn = $("#button1");
if (text == 'button1' && btn.length)
{
    btn[0].click();
} 
于 2012-07-16T20:52:19.813 に答える