2017-10-04 87 views
2

所以我有一個簡單的表格,我問用戶一些信息來註冊,使一個帳戶,這是我用來實現表單的一部分:獲取值的JavaScript

<form class="login-form2" action="index.html">  
    <div class="center sliding"><img style='width:20%; margin: 42%; margin-top: 8%; margin-bottom: 0%;'src="./images/logoTemporal.png"></div>  
    <div class="login-wrap"> 
     <p class="login-img"><i class="icon_lock_alt"></i></p> 

     <!-- Name --> 
     <div class="input-group"> 
      <span class="input-group-addon"><i class="icon_profile"></i></span> 
      <input type="text" id="Name" name="Name" class="form-control" placeholder="Name or Name.Corp" autofocus> 
     </div> 

     <!-- Email --> 
     <div class="input-group"> 
      <span class="input-group-addon"><i class="icon_key_alt"></i></span> 
      <input type="email" id="Email" name="Email" class="form-control" placeholder="Email"> 
     </div> 


     <!-- Passwrod --> 
     <div class="input-group"> 
      <span class="input-group-addon"><i class="icon_key_alt"></i></span> 
      <input type="password" id="Password" name="Password" class="form-control" placeholder="Password"> 
     </div> 

     <!-- Confirm password --> 
     <div class="input-group"> 
      <span class="input-group-addon"><i class="icon_key_alt"></i></span> 
      <input type="password" class="form-control" placeholder="Confirm Password"> 
     </div> 

     <!-- Tipo --> 
     <div class="item-content input-group-addon"> 
      <div class="item-media"><i class="icon f7-icons">Tipo Usuario</i></div> 
      <br> 
      <div class="item-input"> 
       <select id="Tipo" name="Tipo">> 
       <option value="0" selected>Empresa</option> 
       <option value="1">Usuario</option> 
       </select> 
      </div> 
     </div> 
     <br> 

     <!-- Button--> 
     <!-- <a class="btn btn-primary btn-lg btn-block" href="register.html">Register</a> --> 
     <p> <input type="button" class="btn btn-primary btn-lg btn-block" id="signup" value="Send"/></p> 
    </div> 
    </form> 

我想獲得的值成一個JC一些變數,但由於某些原因,我不能讓他們:

$(document).ready(function() { 
$("#signup").click(function() { 

alert("Im in the function");//this is the only alert showing when I test the page... 

//From here on it is not working 
var Name = $('#Name').val(); 
var Email = $('#Email').val(); 
var Password = $('#Password').val(); 
var Tipo = $('#Tipo').val(); 

if (Name == '' || Email == '' || Password == '' || Tipo == '') 
{ alert("please complete the information"); } 
else { 
    // AJAX code to submit form. 
    $.ajax({ 

    type: "POST", 
    url: 'dummy url', 
    crossDomain: true, 
    beforeSend: function(){ $mobile.loading('show')}, 
    complete: function(){ $mobile.loading('hide')}, 
    data: ({Name: Name, Email: Email, Password: Password, Tipo: Tipo}), 
    dataType: 'json', 
    success: function(html){ 
           alert("Thank you for Registering with us! you 
can login now"); 
          }, 

     error: function(html){ 
         alert("Not Working"); 
         } 

    }); 
    }//else end 
}); 
}); 

我仍然想在這裏學到很多東西,但我需要知道的是,爲什麼變量沒有從形式獲得價值,可能是愚蠢的東西,但我只是不能看到它...會感謝一些幫助。 ..

編輯: 添加我的PHP代碼,現在我在嘗試使用JSON數據發送到我的host's PHP時出現錯誤時,JavaScript將打印「不工作」的警報,我認爲是我的PHP是不是真正得到了JSON所以它不是工作,但即時通訊不是100%肯定所以這裏是我的PHP代碼:

<?php 

header('Access-Control-Allow-Origin: *'); 
header('Access-Control-Allow-Methods: GET, POST, PATCH, DELETE, OPTIONS'); 

require 'data/DataCollector.php'; 

$varData = json_decode($data); 
$Name = $varData->Name; 
$Email = $varData->Email; 
$Password = $varData->Password; 
$Tipo = $varData->Tipo; 



$database = new DataCollector([ 
    'database_name' => 'dummy url', 
    'server' => 'dummy server', 
    'username' => 'dummy username', 
    'password' => 'dummy password', 
    'charset' => 'utf8', 
    ]); 

if($_POST){ 

    $database->insert("Usuario", [ 
    "nombre" => $_POST[$Name], 
    "email" => $_POST[$Email], 
"password" => $_POST[$Password], 
    "tipoUsuario" => $_POST[$Tipo] 
]); 
} 

>

我從來沒有使用JSON,我試圖去學習?關於它,我的代碼可能有很多問題,但任何幫助將非常感謝!謝謝!

+1

的錯誤控制檯? – Keith

+0

一個愚蠢的問題......你沒有點擊確定並關閉第一個提醒,對吧?一定有一些錯誤。嘗試alert($('#Name')。val())...你會得到什麼? –

+0

我有一些,他們不得不做任何事情,我沒有問題,現在我沒有這個問題了,至少... – hOlim

回答

1

你的字典似乎不正確。

試試這個:

data: {"Name": Name, "Email": Email, "Password": Password, "Tipo": Tipo} 
+1

謝謝哈哈,這只是解決了我有很多問題之一,現在它不會向主機發送任何東西給我的PHP,但不會感謝您剛剛幫助我的錯誤! – hOlim

+0

我對PHP沒有任何瞭解,但是如果您顯示處理數據的PHP代碼,其他人可以提供幫助。 – MK87