2016-07-16 6 views
0

フォームを取得してレコードをデータベースに挿入する際に問題が発生しました。私が間違っているところ私はちょうど私のフォームが怒鳴るフォームの提出Ajaxが機能しないを使用する

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
<script src="script.js"></script> 

<form id="form" name="form"> 
    <div> 
     <label>Name :</label> 
     <input id="name" type="text"> 
     <label>Email :</label> 
     <input id="submit" onclick="myFunction()" type="button" value="Submit"> 
    </div> 
</form> 

スクリプトが

ajaxjs.php

function myFunction() { 
    var name = document.getElementById("name").value; 
    var dataString = 'name1=' + name; 
    if (name == '') { 
     alert("Please Fill All Fields"); 
    } else { 
     $.ajax({ 
      type: "POST", 
      url: "ajaxjs.php", 
      data: dataString, 
      cache: false, 
      success: function(html) { 
       alert(html); 
      } 
     }); 
    } 
    return false; 
} 

とPHPスクリプトをscript.jsさ...

を把握することはできません

<?php 
include ('./includes/connection.php'); 
$name1 = $_POST['name1']; 
if (isset($_POST['name1'])) { 
    $query = mysql_query("INSERT INTO db VALUES('TEST','name1')"); 
} 
?> 

デベロッパーツールメッセージを表示: script.js:5 Uncaught ReferenceError:dataString is notmyFunction @ sc ript.js:5onclickする@ test.htmlという:9

+1

ブラウザで開発ツールの電源を入れて、あなたがエラーで更新があなたの質問 – Dan

+0

@Danturnipのscript.js取得中にエラーが表示さ:5キャッチされないにReferenceError:dataStringはscript.js @ definedmyFunctionではありません。5onclickする@ test.htmlという:9 – Menel

+0

Sidenote:エラーがなくても、投稿された値の代わりに定数文字列( 'name1')を挿入しています。 – FirstOne

答えて

2

あなたのAjaxコードがうまく 働いしかし、あなたのクエリコマンドが間違っ のように見えるの更新

INSERT INTO table_name (column1,column2,column3,...) 
VALUES (value1,value2,value3,...); 

enter image description here

を試してください:ソースコードがうまく機能

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
<script type="text/javascript"> 
    function myFunction() { 
     var name = document.getElementById("name").value; 
     var dataString = 'name1=' + name; 
     if (name == '') { 
      alert("Please Fill All Fields"); 
     } else { 
      $.ajax({ 
       type: "POST", 
       url: "ajaxjs.php", 
       data: dataString, 
       cache: false, 
       success: function(html) { 
       alert(html); 
       } 
      }); 
     } 
     return false; 
    } 
</script> 
<form id="form" name="form"> 
<div> 
<label>Name :</label> 
<input id="name" type="text"> 
<label>Email :</label> 
<input id="submit" onclick="myFunction()" type="button" value="Submit"> 
</div> 
</form> 

およびajaxjs.php

<?php 
    // include ('./includes/connection.php'); 
    $name1 = $_POST['name1']; 
    echo $name1; 
    // if (isset($_POST['name1'])) { 
    // $query = mysql_query("INSERT INTO db VALUES('TEST','name1')"); 
    // } 
?> 
+1

各表の列に値を指定すると、列名を省略できます。 [参考](http://dev.mysql.com/doc/refman/5.7/en/insert.html):_ INSERT ... VALUES [..]に列名のリストを指定しない場合、テーブルの各列はVALUESによって提供されなければなりません[...] _ – FirstOne

+1

私は彼のクエリが機能していないと思います。 –

+1

はい、私はそれを知っています。 xD私はただ一つの完全な例を与えますxD –

関連する問題