使用jQuery获取文本字段值

时间:2011-03-16 23:37:06

标签: jquery html

我有一个注册框工作,除了它不会将文本字段值发送到我的PHP脚本 - 是.val()正确的功能?我知道我做这个的方式可能有一百个错误,但我很感激任何意见。

$(document).ready(function(){  
                $("form#joinus").submit(function() {
                var gender = $('#gender').attr('value');  
                var age = $('#age').attr('value');
                var gamer = $('#gamer').attr('value');
                var name = $('#name').val();
                console.log("register AJAX input: " + "gender="+ gender +"& age="+ age +"& gamer=" + gamer +"& name=" + name);
                var display = document.getElementById('feedback');
                    $.ajax({  
                        type: "POST",  
                        url: "scripts/register.php",  
                        data: "gender="+ gender +"& age="+ age +"& gamer=" + gamer +"& name=" + name,
                        success: function(msg){  
                            $('form#joinus').hide(function(){$('div.success').fadeIn();});  
                            display.innerHTML = msg;
                        }
                    });
                return false;  
                });  
            });

HTML:

form id="joinus" method="post" action="">
    <fieldset>
        <table style="text-align: left">
            <tr><td>Gender:</td><td><select name="gender" id="gender">
                <option value="male">Male</option>
                <option value="female">Female</option>
            </select></td></tr>
            <tr><td>Age:</td><td><select name="age" id="age">
                <option value="18">18</option>
                <option value="19">19</option>
                <option value="20">20</option>
                <option value="21">21</option>
                <option value="22">22</option>
                <option value="23">23</option>
                <option value="24">24</option>
                <option value="25">25</option>
                <option value="26">26</option>
                <option value="27">27</option>
                <option value="28">28</option>
                <option value="29">29</option>
                <option value="30">30</option>
                <option value="31">31</option>
                <option value="32">32</option>
                <option value="33">33</option>
                <option value="34">34</option>
                <option value="35">35</option>
                <option value="36">36</option>
                <option value="37">37</option>
                <option value="38">38</option>
                <option value="39">39</option>
                <option value="40">40</option>
                <option value="41">41</option>
                <option value="42">42</option>
                <option value="43">43</option>
                <option value="44">44</option>
                <option value="45">45</option>
                <option value="46">46</option>
                <option value="47">47</option>
                <option value="48">48</option>
                <option value="49">49</option>
                <option value="50">50</option>
                <option value="51">51</option>
                <option value="52">52</option>
                <option value="53">53</option>
                <option value="54">54</option>
                <option value="55">55</option>
                <option value="56">56</option>
                <option value="57">57</option>
                <option value="58">58</option>
                <option value="59">59</option>
                <option value="60">60</option>
                <option value="61">61</option>
                <option value="62">62</option>
                <option value="63">63</option>
                <option value="64">64</option>
                <option value="65">65</option>
                <option value="66">66</option>
                <option value="67">67</option>
                <option value="68">68</option>
                <option value="69">69</option>
                <option value="70">70+</option>
            </select></td></tr>
            <tr><td>Would you describe yourself as a "gamer"? (This refers to video games of any sort)</td><td><select name="gamer" id="gamer">
                <option value="yes">Yes</option>
                <option value="no">No</option>
            </select></td></tr>
            <tr><td>Enter the name you would like to use for any highscores (this may be seen by other users)</td><td><input type="text" id="name" name="name" />
        </table>
        <button class="button positive"> Submit </button>  
    </fieldset>
</form>

3 个答案:

答案 0 :(得分:2)

我已经在测试项目中尝试过您的代码并且工作正常。

但是,如果我使用ID name进一步添加另一个元素,那么我会得到您描述的行为。

我建议您使用相同的ID重复元素。

答案 1 :(得分:0)

您没有结束</td></tr>。我认为这不是你的确切问题,但修复它并不会有什么坏处。

答案 2 :(得分:0)

更改

data: "gender="+ gender +"& age="+ age +"& gamer=" + gamer +"& name=" + name,

data: "gender="+ gender +"&age="+ age +"&gamer=" + gamer +"&name=" + name,