2012-02-10 3 views
-3

を使用して、フィールドの値は、詳細については、私の編集をチェックしましょう:IDがdot.notation

を私は無駄にこのいじりをたくさんやりました。専門家に向ける時間。

私のフォーム要素のIDはdot.notationを使用しています(それについては何もできません)。その警告、完全に次のような作品を考える:しかし

$("input[id='primaryEmail.Revisit']").blur(function() { 
     var emailValue = $(this).val(); 
     alert(emailValue); 
}); 

、次にはない:

function getEmailVal() { 
     var emailValue = $("input[id='primaryEmail.Revisit']").val(); 
     return emailValue; 
} 
$("#login").click(function() { 
     var emailValue = getEmailVal(); 
     alert(emailValue); 
     rebakeCookies(); 
}); 

私もこれらの試みた:

function getEmailVal() { 
     var emailValue = $("input[id='primaryEmail.Revisit']").attr("value"); 
     return emailValue; 
} 

function getEmailVal() { 
     var emailValue = $("#primaryEmail\\.Revisit").val(); 
     return emailValue; 
} 

まず、どのように私は入手できますか関数を使用した値、そして2番目の理由はなぜ私の関数ではなく、ぼかし関数でval()を使うことができますか?

これに関するお手伝いをしております。

少なくとも私の目的のために解決しました。しかし、私はまだ元の質問に対する答えが何であるか分かりません。

function getEmailVal() { 
     var emailValue = $(".primaryEmailRevisit").val(); 
     return emailValue; 
    } 

$("#login").click(function() { 
     var emailValue = getEmailVal(); 
     alert(emailValue); 
     rebakeCookies(); 
    }); 
+0

は機能が実際に呼び出されていますか?デバッグするために 'console.log'または' alert'を追加してください。 –

+1

idが入力に設定されている場合、呼び出しの入力部分はまったく必要ありません。 '$(" primaryEmail.Revisit '")")を '$(" primaryEmail.Revisit ")'に変更してください。それが何かを修正するかどうかは分かりません – Henesnarfel

+0

セレクタが動作することがわかりました。これは、あなたが期待する価値が得られていないことを意味します。理由を知るには、 'getEmailVal'がどのように呼び出されているのかを知る必要があります。 –

答えて

-3

それも値を取得するために正常に動作する必要があります:これはうまく動作します - これを解決するために、私は、入力フィールドにクラスを追加し、代わりにそのセレクターを参照しました。それはうまく動作するこのフィドルを見てみましょう。あなたのコードには別の問題があるかもしれません。

$(function(){ 
    $("input[id='id.id']").blur(function(){ 
     alert($("input[id='id.id']").val()); 
    }); 
}); 

http://jsfiddle.net/E4mz9/268/

+0

'.'は引用された属性値の一部であるときにエスケープする必要はありません。問題の最初の例は、セレクタが機能することを示しています。 –

+0

@amnotiam - 私の答えを編集しました。 – ShankarSangoli

+0

私はあなたがその質問を詳しく見る必要があるかもしれないと思います。 'blur'ハンドラのコードは正常に動作していました。 'getEmailVal'のコードは、同じセレクタを使ってぼかしハンドラを割り当てても動作しません。他にもいくつか問題があります。あなたの答えは問題を解決しません。 –

0

あなたは、ドキュメントの準備ができた後、関数を呼び出す使用していますか?ドキュメントが準備される前にブラーが呼び出されることは決してないので、ブラーは機能するはずですが、要素がレンダリングされる前に関数を呼び出すと関数は機能しません。

以下は、あなたの関数を呼び出すサンプルです。セレクタの形式を強くお勧めします。それはより一般的な表記法です。

HTML:

<input id="primaryEmail.Revisit" value="[email protected]" /> 
<div id="result"></div> 

JS:

var getEmailVal = function(){ 
    return $('input#primaryEmail\\.Revisit').val(); 
}; 

$(document).ready(function(){ 
    $("#result").html(getEmailVal()); 
}); 
+0

問題はセレクタではありません。同じセレクタが 'blur'ハンドラを割り当てるために使用され、それはうまく動作します。 –

+0

私はこれを試しました。動作しませんでした... –

+0

は間違いなく動作する完全なサンプルのために編集しました。 –