2012-02-24 16 views
0
$(document).ready(function() { 
    $("#register button[name=btnPosta]").click(function() { 
    console.log('clicked'); 

    thisBtn = $(this); 
    parent = $(this).parent(); 

    name = parent.data('name'); 

    $(this).attr('disabled', true); 

    $.post('register.php', { 
     name: (name) 
    }, function(data) { 
     console.log('Ajax success'); 

    $('#message').html(data); 
     thisBtn.attr('disabled', false); // reset 
    }); 

    console.log('Ajax success'); 
    }); 
}); 
}); 

これは入力ボックスから入力されたものの代わりに未定義が表示されますが、入力ボックスから入力された名前の値を送信するJavaScript機能です。未定義の投稿変数

<div class = "Interactlogin" id = "register"> 
    <table> 
    <tr> 
     <td> Username: <td> 
     <td> <input type = "text" class = "field" name = "name"> </td> 
    </tr> 
    <tr> 
     <td> Password: <td> 
     <td> <input type = "password" class = "field" name = "password"> </td> 
    </tr> 
     <td > Email: <td> 
     <td> <input type = "email" class = "field" name = "email"> </td> 
    </tr> 
    <tr> 
     <td> <td> 
     <td><button class='regular' id = "btnPost" name = 'btnPosta'> Log In </button <td>  
    </tr> 
    <tr> 
    </table> 
</div> 
<div id = "message"> 
</div> 

これは、入力が配置されているHTMLマークアップです。

+0

変更このライン名= parent.data( '名前'); var name1 = parent.data( 'name');に変更します。この変数をパラメータとして$ .postに与えます。 – sathishkumar

+0

どうして ' mplungjan

答えて

0

代わりの

name = parent.data('name'); 

用途:

name = $('#register').find('input[name="name"]').val(); 
+0

ありがとうございます、それは働いています\ – foshoeiyyy

+2

@oshoeiyyy:excellent!お役に立てて嬉しいです :) –

0

代わりにこれを試してみてください:

$(document).ready(function() { 
    $('#register :button[name=btnPosta]').click(function() { 
    console.log('clicked'); 


    var name = $('#register :input[name = "name"]').val(); 


    $(this).attr('disabled', true); 
    $.post('register.php', 
      name: name, 
      function(data) { 
       console.log('Ajax success'); 
       $('#message').html(data); 
       $(this).attr('disabled', false); 
      }); 
1

あなたはおそらく意図され、むしろ$ .valより$ .dataセクションを使用しようとしています。

使用

name = $('#register input[name="name"]').val(); 

ではなく

name = parent.data('name');