0
我是編程新手,我正在玩弄htm/ajax/php。我有兩個文本字段,名稱和動物。您在名稱字段中輸入一個名稱。如果名稱存在於數據庫中,它將返回與該名稱關聯的所有動物,並且不允許將重複動物輸入動物字段。我正在使用LiveValidation進行驗證。使用來自Ajax的PHP數組調用
到目前爲止,我的名稱字段工作正常。它正在檢查數據庫並返回與該名稱關聯的所有動物的彗星分隔列表,並將它們插入到結果div中。然而結果div只是爲了測試。我想要的結果列表填充在這裏的列表:
//animal must not include
var animal = new LiveValidation('animal');
animal.add(Validate.Exclusion, {
within: [
// Insert ajax results here
'cow' , 'pigeon', 'giraffe',
]
});
這是我的代碼的其餘部分。我認爲我想要做的事很簡單,我只是不知道該怎麼做。感謝任何需要一些時間幫助我的人。
HTML
<input type="text" id="name" name="name"/>
<input type="text" id="animal" name="animal" />
<div class="results"></div>
的JavaScript
<script>
//ajax call
$(function(){
$('#name').blur(function(){
var inpval = $('#name').val();
$.ajax({
type: 'POST',
data: ({name : inpval}),
url: 'name_taken.php',
success: function(data) {
$('.results').html(data);
}
});
});
});
//validation from livevalidation.com
//name must be present
var name = new LiveValidation('name');
name.add(Validate.Presence);
//animal must not include
var animal = new LiveValidation('animal');
animal.add(Validate.Exclusion, {
within: [
// How do I insert ajax results here?
'cow' , 'pigeon', 'giraffe',
]
});
</script>
PHP
//name_taken.php
$input_name = trim($_POST['name']);
foreach($names_table as $row){
$name = $row['name'];
if($name == $input_name){
echo $row['animal'] . ',';
}
}
表結構
//$names_table
| 1 | Dave | animal1 |
| 2 | Mark | animal2 |
| 3 | Dave | animal3 |
非常感謝您的快速回復。我現在正在工作,它在一個彈出窗口中提醒這些值。但是,現在我將如何將這些值填充到驗證列表中? – user1738750
'內部'需要在那裏嗎?把它移到add方法之外,如果我沒有弄錯,你應該只能做'animal.push'。 –
LiveValidation需要在那裏工作。我應該澄清,我不需要添加到列表中。這只是一個例子。我需要更換清單。 :) – user1738750