2017-10-05 64 views
0

所以我正在存儲日曆在我的數據庫中的約會,我需要在完成模態之前檢查數據庫的人名。Ajax函數顯示在一個特定的div內提交的結果

領域,按鈕的代碼和DIV我需要顯示結果:

<div class="alinhar-esquerda"> 
    <input class="form-control" name="cpf_paciente" id="cpf_paciente" placeholder="" type="text" value=""> 
</div> 
<div class="alinhar-direita"> 
    <button type="submit" class="btn btn-primary" id="searchButton">Pesquisar</button> 
</div> 
<div class="controls controls-row" id="resultado" style="margin-top:5px;"> 
</div> 
<?php 
include("database2.php"); 
    if(isset($_POST["cpf_paciente"])){ 
     $cpf_paciente = $_POST["cpf_paciente"]; 
     $pesquisa = $connection->query("SELECT `id`, `cpf_paciente`, `nome_paciente`, `sobrenome_paciente` FROM `pacientes` WHERE cpf_paciente='$cpf_paciente'"); 
     while($row = $pesquisa->fetch(PDO::FETCH_ASSOC)) { 
     echo $row['nome_paciente'] . " " . $row['sobrenome_paciente']; 
     } 
    } 
?> 
</div> 
</div> 

我需要一個Ajax代碼,以接收來自#submitButton輸入數據,然後再通過內部的PHP代碼div #resultado沒有重新加載頁面,因爲所有這些都在一個模式中,我會在得到這個人的名字後發送結果。

嘗試過這樣的事情,但沒有成功:

$('#searchButton').submit(function() { // catch the data from submit event 
$.ajax({ // create an AJAX call... 
    data: $(this).serialize(), // get the data 
    type: $(this).attr('POST'), // POST 
    url: $(this).attr(''), // no file to call 
    success: function(response) { // on success.. 
     $('#resultado').html(response); // update the DIV 
    } 
}); 
}); 
+0

只是說'類型:「POST」'(或使用.post的$),你需要說的網址你在哪裏試圖發佈結果。無論回聲響應將返回響應變種。 – LordNeo

+1

'$(this).serialize()'你確定嗎? afaik,它必須是一個「形式」。你看到什麼錯誤? 'console.log'有一些? – mishka

+0

爲什麼'$(this).attr('')'應該表示? – Barmar

回答

0

它應該是:

$('#searchButton').click(function() { // catch the data from submit event 
    $.ajax({ // create an AJAX call... 
     data: { cpf_paciente: $("#cpf_paciente").val() }, 
     type: "POST", 
     url: '', 
     success: function(response) { // on success.. 
      $('#resultado').html(response); // update the DIV 
     } 
    }); 
}); 

除非this<form>,否則不能使用$(this).serialize()。它不能只用一個按鈕(它怎麼知道要序列化的輸入?)。

type:應該只是'POST,因爲該按鈕沒有POST屬性。

該網址應該是''才能與當前網頁的網址相同,$(this).attr('')毫無意義。

submit事件僅適用於表單。對於使用.click()的按鈕。

+0

哦,我明白了......但它似乎不會將$ _POST [「cpf_paciente」]發送到div,因此它會觸發php代碼。 –

+0

爲了清楚起見,用戶應該插入個人文檔,然後選擇將返回全名,以便用戶可以確認這是合適的人,然後用戶可以下降模式並插入觀察的約會和在最後保存它。最大的問題是它是一個jQuery插件,我的編輯權限有限,部分原因是我不瞭解所有jQuery代碼(非常新)。我可能只用php就可以做到這一點,但是隨插件一起出現在這裏。 –

+0

當它應該是'.click()'時,您正在使用'.submit()'。你提交表單,你點擊按鈕。 – Barmar

0

你錯過的類型和URL - >

$.ajax({ 
    type: "POST", 
    url: "<?php echo base_url(); ?>contents/hello", 
    data: "id=" + a_href, 
    success: function(data, textStatus) { 
     $(".result").html(data);  
    }, 
    error: function() { 
     alert('Not OKay'); 
    } 
});​ 

源 - >https://stackoverflow.com/a/10575968/3543355

+0

'「id =」+ a_href'與他的代碼有什麼關係? – Barmar

+0

什麼是'base_url()'?這看起來像來自特定的框架。 – Barmar

0

不明白什麼ü想要

<?php 
while($row = $pesquisa->fetch(PDO::FETCH_ASSOC)) 
{echo $row['nome_paciente'] . " " . $row['sobrenome_paciente']; 
?> 

如果結果是

第1行:QWE ERT

行2:ASD DFG

JS

$('#resultado').html(response); 

這將顯示「QWE ERT ASD DFG」

,並會做nothg只是一個文本,如果u要重新生成代碼u和建立在PHP或U變動成爲HTML代碼js函數,這樣你們可以使用返回STR爆炸並調用funtion再生元素

我兩個,這是簡單的方法