0

以下のようなラベルリンクのあるフィールドがいくつかあります。

<div class="control-group">
    <label class="control-label" for="some-id-1"><a href="http://example.com/some-id-1" target="_blank">Text1</a></label>
    <div class="controls">
        <input type="text" id="some-id-1" name="some-id-1"><br>
    </div>
</div>
<div class="control-group">
    <label class="control-label" for="some-id-2"><a href="http://example.com/some-id-2" target="_blank">Text2</a></label>
    <div class="controls">
        <input type="text" id="some-id-2" name="some-id-2"><br>
    </div>
</div>

ユーザーがリンクをクリックした場合、フィールドに応じてフォーカスするにはどうすればよいですか (デフォルト アクションを妨げずに)。つまり、ユーザーが をクリックした場合、新しいウィンドウでText1開きhttp://example.com/some-id-1、id の入力にフォーカスを設定する必要がありsome-id-1ます。

4

5 に答える 5

1

jsfiddle

$(".control-label a").click(function(){
   $(this).parent().next().find('input').focus();

});
于 2012-10-20T16:59:28.127 に答える
1
$('.control-label a').on('click', function(e) {
  e.preventDefault();
  $(this).parent().next().find('input').focus();
  // or
  $('.control-group').has(this).find('input').focus();
});
于 2012-10-20T16:59:49.797 に答える
0
<a href="http://example.com/some-id-1" target="_blank" onClick="document.getElementById('some-id-1').focus();">Text1</a>
于 2012-10-20T16:59:00.293 に答える
0

正しく理解している場合は、新しいページを開き、新しいページでクリックされたリンクに基づいてフォーカスを設定します

新しいページを開く場合は、URL にハッシュを渡すか、Cookie を使用して、他のページにハッシュまたは Cookie を解析させる必要があります。

現在のページ:

$(function(){
    $('.control-label a').click(function(){
       var hash='#'+ $(this).next().find('input').attr('id');
       window.open( this.href + hash);
        return false;
    });
})

他のページ:

$(function(){
    var hash= location.hash;
    $(hash).focus();
})
于 2012-10-20T17:09:21.273 に答える
0

あるページの JavaScript は、別のページが URL にどのように応答するかを制御できません。「他の」ページが制御下にある場合は、次を解析するように設定できますid

var parts = document.location.href.split('/'),
    id = parts.pop();

document.getElementById(id).focus;

一方、その要素を確実にフォーカスしたい場合はid、 を としてhashURL に渡すだけです。

<a href="somepage.html#some-id">Go to an element of 'some id'</a>

これはフォーム要素に焦点を当てないかもしれませんが、その要素をユーザーの注意に引き付けるべきであり、あなたのコントロールの外にあるページでは、はるかに信頼性が高くなります.

于 2012-10-20T17:13:13.453 に答える