6

我一直在尝试提交我的表格,但我一直卡住。我让它在禁用 jquery 的情况下工作。但是,如果我打开 Jquery,它不会发送任何内容。(在我的元素检查中没有错误)

我已经有一段时间了,我尝试了不同的解决方案(一些来自不同主题的堆栈溢出),但我一直在同一点上。它可能是服务器端的东西,但我一直在想,如果是这样的话,它根本不应该工作。有人可能有想法吗?

链接:http ://www.volunteeringnews.com/osf.php

代码:

客户端:osf.php

<?php include("osb.php");?>
<link href="css/styles.css" rel="stylesheet">
<script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type = "text/javascript">

$(function(){

$('#submit').click(function(){
 $('#container').append('<img src = "img/ajax/ajax-loader.gif" alt="Currently loading" id = "loading" />');

    var name=$("#name").val();
    var continent=$("#continent").val();
    var country=$("#country").val();
    var website=$("#website").val();
    var email=$("#email").val();
    var nameorg=$("#nameorg").val();
    var category=$("#category").val();
    var price=$("#price").val();
    var currency=$("#currency").val();
    var description=$("#description").val();
    var wanted=$("#wanted").val();
    var expectation=$("#expectation").val();
    var extra=$("#extra").val();


     $.ajax({

        url: 'osb.php',
        type: 'POST',
        data: 'name =' + name + '&continent=' + continent + '&country=' + country + '&website=' + website + '&email=' + email + '&nameorg=' + nameorg + '&category=' + category + '&price=' + price + '&currency=' + currency + '&description=' + description + '&wanted=' + wanted + '&expectation=' + expectation + '&extra=' + extra,


        success: function(result){
             $('#response').remove();
             $('#container').append('<p id = "response">' + result + '</p>');
             $('#loading').fadeOut(500, function(){
                 $(this).remove();

             });

        }

     });         

    return false;

});


});

</script>



<!--we have our html form here where user information will be entered-->
<form action='osb.php' method='post' border='0'>
<div id = "container">  <br>
    <label>Name:            </label>    <input type='text' id="name" name='name' /><br>  <br>
    <label>Continent:       </label>    <select id="continent" name="continent"> <option>Africa</option><option>America</option><option>Asia</option> <option>Australia</option><option>Europe</option></select><br><br>
    <label>Country:         </label>    <input type='text' id="country" name='country' /><br><br>
    <label>Website:         </label>    <input type='text' id="website" name='website' /><br><br>
    <label>E-mail:          </label>    <input type='text' id="email" name='email' /><br><br><br>
    <label>Organisation:    </label>    <input type='text' id="nameorg" name='nameorg' /><br><br>
    <label>Category:        </label>    <input type='text' id="category" name='category' /><br><br>
    <label>Price per week:  </label>    <input type='text' id="price" name='price' /><br><br>
    <label>Currency:        </label>    <select id ="currency"  name="currency" >  <option> EUR </option> <option> DOL </option> <option> GBP </option></select><br><br>
    <label>Description:     </label>    <textarea id="description" rows="5" cols="40"  placeholder="Describe what kind of volunteer is welcome" name='description'/></textarea><br><br>
    <label>Wanted:          </label>    <textarea id="wanted" rows="5" cols="40"  placeholder="Describe what kind of volunteer is welcome" name='wanted'/></textarea><br><br>
    <label>Expectation:     </label>    <textarea id="expectation" rows="5" cols="40"  placeholder="Describe what a volunteer can expect"  name='expectation'/></textarea><br><br>
    <label>Extra:           </label>    <textarea id="extra" rows="5" cols="40"  placeholder="Describe what a volunteer can expect"  name='extra'/></textarea><br><br>

    <input type='hidden' name='action' value='create' />
    <input type='submit' value='Submit' id="submit" value = "send feedBack"/>
    <input type="reset" value="Reset" class="reset-org">

    <a href='index.php'>Back to index</a> 

服务器端:osb.php

<?php
//set connection variables
$host = "";
$username = "";
$password = "";
$db_name = ""; //database name

//connect to mysql server
$mysqli = new mysqli($host, $username, $password, $db_name);



//check if any connection error was encountered
if(mysqli_connect_errno()) {
echo "Error: Could not connect to database.";
exit;
}

$action = isset($_POST['action']) ? $_POST['action'] : "";



if($action=='create'){ //the the user submitted the form

//include database connection
include 'mysqli.php';

//our insert query query
//$mysqli->real_escape_string() function helps us prevent attacks such as SQL injection
$query  = "insert into organisation 
            set
                name = '".$mysqli->real_escape_string($_POST['name'])."', 
                continent = '".$mysqli->real_escape_string($_POST['continent'])."',
                country = '".$mysqli->real_escape_string($_POST['country'])."',
                website = '".$mysqli->real_escape_string($_POST['website'])."',
                email = '".$mysqli->real_escape_string($_POST['email'])."',
                nameorg = '".$mysqli->real_escape_string($_POST['nameorg'])."',
                category = '".$mysqli->real_escape_string($_POST['category'])."',
                price = '".$mysqli->real_escape_string($_POST['price'])."',
                currency = '".$mysqli->real_escape_string($_POST['currency'])."',
                description = '".$mysqli->real_escape_string($_POST['description'])."',
                wanted = '".$mysqli->real_escape_string($_POST['wanted'])."',
                expectation = '".$mysqli->real_escape_string($_POST['expectation'])."',
                extra  = '".$mysqli->real_escape_string($_POST['extra'])."'";


//execute the query
if( $mysqli ->query($query) ) {
    //if saving success
    echo "User was created.";
}else{
    //if unable to create new record
    echo "Database Error: Unable to create record.";
}
//close database connection
$mysqli->close();
}



?>

非常感谢你!!

4

1 回答 1

20

试试这个

这是编辑后的html

html

    <form action='osb.php' method='post' border='0' id="form1">
    <div id = "container">  <br>
        <label>Name:            </label>    <input type='text' id="name" name='name' /><br>  <br>
        <label>Continent:       </label>    <select id="continent" name="continent"> <option>Africa</option><option>America</option><option>Asia</option> <option>Australia</option><option>Europe</option></select><br><br>
        <label>Country:         </label>    <input type='text' id="country" name='country' /><br><br>
        <label>Website:         </label>    <input type='text' id="website" name='website' /><br><br>
        <label>E-mail:          </label>    <input type='text' id="email" name='email' /><br><br><br>
        <label>Organisation:    </label>    <input type='text' id="nameorg" name='nameorg' /><br><br>
        <label>Category:        </label>    <input type='text' id="category" name='category' /><br><br>
        <label>Price per week:  </label>    <input type='text' id="price" name='price' /><br><br>
        <label>Currency:        </label>    <select id ="currency"  name="currency" >  <option> EUR </option> <option> DOL </option> <option> GBP </option></select><br><br>
        <label>Description:     </label>    <textarea id="description" rows="5" cols="40"  placeholder="Describe what kind of volunteer is welcome" name='description'/></textarea><br><br>
        <label>Wanted:          </label>    <textarea id="wanted" rows="5" cols="40"  placeholder="Describe what kind of volunteer is welcome" name='wanted'/></textarea><br><br>
        <label>Expectation:     </label>    <textarea id="expectation" rows="5" cols="40"  placeholder="Describe what a volunteer can expect"  name='expectation'/></textarea><br><br>
        <label>Extra:           </label>    <textarea id="extra" rows="5" cols="40"  placeholder="Describe what a volunteer can expect"  name='extra'/></textarea><br><br>

        <input type='hidden' name='action' value='create' />
        <input type='button' value='Submit' id="submit" />
        <input type="reset" value="Reset" class="reset-org">

        <a href='index.php'>Back to index</a> 
</form>

使用.serialize(),它会自动获取所有的表单数据

代码

    $(function(){

    $('#submit').click(function(){
     $('#container').append('<img src = "img/ajax/ajax-loader.gif" alt="Currently loading" id = "loading" />');
    $.ajax({

            url: 'osb.php',
            type: 'POST',
            data: $('#form1').serialize(),
            success: function(result){
                 $('#response').remove();
                 $('#container').append('<p id = "response">' + result + '</p>');
                 $('#loading').fadeOut(500);

               }

         });         

    });
 });

并在你的 php 页面中添加这个

osb.php

<?php
$data=$_POST['serialize'];
$name=$data['name'];  //access data like this

?>
于 2013-09-10T15:21:25.383 回答