Hello stackoverflow用户,
如何将.append(data)
仅用于1 <input type="email">
?
Cuz我尝试使用.each()
的文档jquery.com
但我现在还不清楚。
我现在拥有的是什么;
<script type="text/javascript">
$("input#email").keyup(function(){
$.ajax({
type: "POST",
url: "checklistHandler.php?action=valEmail",
data: $("input#email")
}).done(function(data){
$("span.emailCheck").empty().append(data);
});
});
</script>
在我的表单中,我有2次<input type="email">
,但是当我只填写第一个时,它应该只检查第一个<input type="email">
。
但它会检查所有<input type="email">
。
希望你们有人能帮助我!
电贺。
[更新1]
<input style="min-width: 212px; max-width: 212px;" type="email" id="email" name="buildingblock[<?=$onderdeel['formBuildingBlockId']?>][content]" value="<?= $onderdeel['formContent'] ?>" <?=($onderdeel['formRequired'] == 'on' ? 'required' : '')?>><span class="emailCheck"></span>
[更新2]
if ($_GET['action'] == "valEmail") {
foreach ($_POST['buildingblock'] as $key => $value) {
if (empty($value['content'])) {
?>
<img src="<?=IMG?>/cross.png">
<p style="background-color: red; text-align: center; color: #ffffff; border-radius: 4px;">Het E-Mail veld mag niet leeg zijn!</p>
<?
} else {
if (!preg_match('/^[^@]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+$/', $value['content'])) {
?>
<img src="<?=IMG?>/cross.png">
<p style="background-color: red; text-align: center; color:white; border-radius: 4px;">Dit is geen geldig E-Mail adres</p>
<?
} else {
?>
<img src="<?=IMG?>/tick.png">
<?
}
}
return;
}
exit();
}
答案 0 :(得分:0)
你需要在post方法ajax()
中使用这样的方法更改为data: $("input#email").val()
$.ajax({
type: "POST",
url: "checklistHandler.php?action=valEmail",
data: $("input#email") // change here $("input#email").val()
}).done(function(data){
$("span.emailCheck").empty().append(data);
});
答案 1 :(得分:0)
检查以下代码。使用数据:$(this).val()。如果值为空,则它不会执行ajax代码。
$(document).off('keyup').on('keyup',"input[type='email']",function(){
if($.trim($(this).val()).length > 0){
var obj = $(this);
$.ajax({
type: "POST",
url: "checklistHandler.php?action=valEmail",
data : obj.val(),
}).done(function(data){
obj.next("span.emailCheck").empty().append(data);
});
}
});