java脚本无法从表单中获取数据

时间:2015-12-22 09:56:18

标签: javascript php

我是javascript和css的新手,我不明白为什么我的代码不起作用。 由于某种原因,我的参数没有从表格中获取数据。

我想知道为什么以及如何更改javascript代码来获取数据。

php代码:

<body>
    <div id="loader-wrapper">
        <div id="AssafMedia"></div>
        <div id="loader"></div>
    </div>

    <form class="register_a_user" action="index.html" method="post">

        <h1>הרשמה</h1>

        <fieldset>
            <legend class="table_row donot_break">
                <div class="table_cell donot_break">
                    <span class="number">1</span>
                </div>
                <div class="table_cell donot_break">
                    <span class="section_title ">השם שלך</span>
                    <span class="section_description">ככה נדע איך קוראים לך</span>
                </div>
            </legend>

            <div class="table_row">
                <div class="table_cell width50">
                    <label for="name">שם פרטי:</label>
                    <input type="text" id="first_name" name="first_name" placeholder="למשל: צביקה" />
                </div>

                <div class="table_cell margin-right bigger_slice">
                    <label for="name">שם משפחה:</label>
                    <input type="text" id="last_name" name="last_name" placeholder="למשל: בן-שלום" />
                </div>
            </div>

            <legend class="table_row donot_break">
                <div class="table_cell donot_break">
                    <span class="number">2</span>
                </div>
                <div class="table_cell donot_break">
                    <span class="section_title">פרטי יצירת קשר</span>
                    <span class="section_description">ככה נוכל להיות איתך בקשר</span>
                </div>
            </legend>

            <div class="table_row">
                <div class="table_cell width50">
                    <label for="phone">טלפון:</label>               
                    <input type="tel" id="phone" name="phone" placeholder="למשל: 0501234567">
                </div>

                <div class="table_cell margin-right bigger_slice">
                    <label for="phone">חזור על מספר הטלפון</label>
                    <input type="tel" id="phone2" name="phone2" placeholder="למשל: 0501234567">
                </div>
            </div>              

            <label for="mail">אימייל:</label>
            <input type="email" id="email" name="email" placeholder="למשל: mailuser@provider.co.il" />


            <legend class="table_row donot_break">
                <div class="table_cell donot_break">
                    <span class="number">3</span>
                </div>
                <div class="table_cell donot_break">
                    <span class="section_title">אתה או את?</span>                   
                </div>
            </legend>

        <!--    <label for="job">סגנון הריקוד הכי הכי בעולם</label>
            <select id="job" name="user_job">
            <optgroup label="סלסה">
                <option value="cuban">סלסה קובנית</option>
                <option value="la" selected>סלסה בסגנון LA</option>
                <option value="ny">סלסה בסגנון NY</option>
            </optgroup>     
            <optgroup label="סגנונות אחרים">
                <option value="bachata">באצטה</option>
                <option value="kizumba">קיזומבה</option>
                <option value="reggatton">רגאטון</option>
                <option value="all_times">כל הזמנים</option>
                <option value="lambada">זוק למבדה</option>
                <option value="lambada">מרנגה</option>
            </optgroup>     
            </select>                -->

            <div class="radio_section table_row donot_break">
                <label class="title">מין:</label>
                <label>
                    <input type="radio" id="gender_male" value="male" name="gender" />
                    <span class="lbl padding-8">זכר <i class="fa fa-male"></i></span>
                </label>
                <label>
                    <input type="radio" id="gender_female" value="female" name="gender" />
                    <span class="lbl padding-8">נקבה <i class="fa fa-female"></i></span>
                </label>                
            </div>
        </fieldset>

        <fieldset>
            <legend class="table_row donot_break">
                <div class="table_cell donot_break">
                    <span class="number">4</span>
                </div>
                <div class="table_cell donot_break">
                    <span class="section_title">יום ההולדת שלך</span>
                    <span class="section_description">כדיי שנוכל לפנק אותך</span>
                </div>
            </legend>   

            <label for="mail">יום ההולדת שלך:</label>
            <input type="date" id="birthday" name="birthday" placeholder="למשל: 31/07/1987" />
        </fieldset>

        <fieldset>

            <legend class="table_row donot_break">
                <div class="table_cell donot_break">
                    <span class="number">5</span>
                </div>
                <div class="table_cell donot_break">
                    <span class="section_title">תעודת הזהות שלך</span>
                    <span class="section_description">כדיי שנהיה בטוחים שאתה זה באמת אתה</span>
                </div>
            </legend>           

            <div class="table_row">
                <div class="table_cell width50">
                    <label for="id_card">תעודת זהות:</label>                
                    <input type="text" id="id_card" name="id_card">
                </div>

                <div class="table_cell margin-right bigger_slice">
                    <label for="id_card2">חזור על מספר תעודת הזות</label>
                    <input type="text" id="id_card2" name="id_card2">
                </div>
            </div>              

        </fieldset>

        <button type="submit">הרשם</button>
    </form>     

    <!--div class="input_group">
        <input type="text" id="first_name" name="first_name" placeholder="שם פרטי: " />
        <input type="text" id="last_name" name="last_name" placeholder="שם משפחה: " />
    </div>

    <div class="input_group">
        <input type="text" id="phone" name="phone" placeholder="טלפון: " />
        <input type="text" id="phone2" name="phone2" placeholder="חזור על הטלפון: " />
    </div>

    <div class="input_group">
        <input type="text" id="email" name="email" placeholder="אימייל" />
        <input type="date" id="birthday" name="birthday" placeholder="יום הולדת" />
    </div>      

    <div class="input_group">
        <input type="text" id="id_card" name="id_card" placeholder="תעודת זהות" />
        <input type="text" id="id_card2" name="id_card2" placeholder="חזור על התעודת זהות" />
    </div>

    <div class="input_group">

        <select id="gender" name="gender" placeholder="מין">
            <option selected disabled>מין</option>      
            <option value="1">זכר <i class="fa fa-male"></i></option>
            <option value="2">נקבה <i class="fa fa-female"></i></option>
        </select>

        <select type="text" id="dance_style" name="dance_style" placeholder="סגנון ריקוד מועדף">        
            <option selected disabled>סגנון ריקוד</option>
            <option value="1">קובני</option>
            <option value="2">אל איי</option>
            <option value="3">באצטה</option>
            <option value="4">קיזומבה</option>
            <option value="5">רגאטון</option>
            <option value="6">כל הזמנים</option>
        </select>
    </div>

    <button>הרשם</button-->

</form>

java脚本代码:

    var getData = function(theFunction,parameters){

    $.tempData = {};

    var scriptUrl = ("getdata.php?data="+theFunction);

    var result = null;
    $.ajax({
        url: scriptUrl,
        type: 'POST',
        data: parameters,
        dataType: 'html',
        async: false,
        success: function(data) {
            result = data;
        } 
    });

    return result;
    }

    $(document).ready(function(){
    $("form.register_a_user").submit(function(e){


        $.parameters = {


            "first_name": $("#registration #name").val(),
            "last_name": $("#registration #last_name").val(),
            "id_card": $("#registration #id_card").val(),
            "id_card2": $("#registration #id_card2").val(),
            "phone": $("#registration #phone").val(),
            "phone2": $("#registration #phone2").val(),
            "email": $("#registration #email").val(),
            "gender": $("#registration #gender").val(),
            "dance_style": $("#registration #dance_style").val(),
            "birthday": $("#registration #birthday").val(),


        }
        var result = getData("insert_by_regestration",$.parameters);
        $.alert({
            title: false,
            confirmButton: 'סבבה',          
            content: result,
            confirm: function(){
                // alert('סתם לא באמת!');
            }
        });     
        // alert(result);
        return false;
    });
});

3 个答案:

答案 0 :(得分:1)

您使用了错误的选择器。请查看以下代码。

 $("#registration #name").val()

也没有registration ID和name ID。它应该如下所示。

 $("#first_name").val()

使用以下所有修改更新您的代码。

  $.parameters = {
        "first_name": $("#first_name").val(),
        "last_name": $("#last_name").val(),
        "id_card": $("#id_card").val(),
        "id_card2": $("#id_card2").val(),
        "phone": $("#phone").val(),
        "phone2": $("#phone2").val(),
        "email": $("#email").val(),
        "gender": $("#gender").val(),
        "dance_style": $("#dance_style").val(),
        "birthday": $("#birthday").val()
    }

答案 1 :(得分:0)

只需使用ajax提交表单,然后根据您的要求在下面的代码中进行更正。

加载Jquery文件。

<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>

HTML code ---

<form id="myform" class="register_a_user" action="index.html" method="post">
 ...
 ..
</form>

- Js代码

$(function() {
    //hang on event of form with id=myform
    $("#myform").submit(function(e) {

        //prevent Default functionality
        e.preventDefault();

        //get the action-url of the form
        var actionurl = e.currentTarget.action;

        //do your own request an handle the results
        $.ajax({
            url: actionurl,
            type: 'post',
            dataType: 'json',
            data: $("#myform").serialize(),
            success: function(data) {
                ... do something with the data...
            }
        });
    });
});

答案 2 :(得分:0)

替换数据:参数
data:$(".register_a_user").serialize()

这将解决问题