2011-08-05 4 views
1

動的に作成されたフォームでユーザー名とパスワードを渡そうとしていますが、そうしていません。ここにJSがあります。動的に作成されるフォームは、URLに特定のURLステム(location.pathname ... 3番目のif文)が含まれている場合のみです。それは私を夢中にさせている。javascriptで動的に作成するとフォーム情報が渡される

function PostToAccountManagement() { 
    var userName = $('#Username').val(); 
    var passWord = $('#Password').val(); 

    if (userName == "") 
     $('#UsernameError').html('Please enter a valid username'); 
    else 
     $('#UsernameError').html(''); 

    if (passWord == "") 
     $('#PasswordError').html('Please enter a valid password'); 
    else 
     $('#PasswordError').html(''); 

    if (location.pathname.search(/\/info/i) == 0 || 
     location.pathname.search(/\/blogs/i) == 0 || 
     location.pathname.search(/\/groups/i) == 0 || 
     location.pathname.search(/\/askquestion/i) == 0) { 
      $('<form id="Form1"> </form>').prependTo('body'); 
      if (userName != "" && passWord != "") { 
       document.cookie = "ReturnUrl" + "=" + window.location.href; 
       $('#Form1').eq(0).attr('action', '/account/logon'); 
       $('#Form1').eq(0).attr('method', 'post'); 
       $('#Form1').submit(); 
      } 
    } 
    if (userName != "" && passWord != "") { 
     document.cookie = "ReturnUrl" + "=" + window.location.href; 
     $('#Form1').eq(0).attr('action', '/account/logon'); 
     $('#Form1').eq(0).attr('method', 'post'); 
     $('#Form1').submit(); 
    } 

} 

答えて

0

最初に、「if」という3番目のフォームに作成するフォーム。すでに "Form1"というIDのフォームを持っているようですが、これは良くありません。

第3の「if」が送信されたときにユーザー名とパスワードを取得することはできません。提出するフォームにそのような名前の要素がないため、実際には存在しません。適切な名前の隠し入力を少なくともいくつか追加してみてください。

+0

これらのURLステムを含むページにはフォームがないため、特定のものに対して動的に作成するため、これは完了しています。私はそこにいくつかの入力フィールドを置くことができるかどうかを見ていきます。ありがとう –

関連する問題