.append(data) 到所有 <input type="email">

Posted

技术标签:

【中文标题】.append(data) 到所有 <input type="email">【英文标题】:.append(data) to all <input type="email"> 【发布时间】:2015-05-14 13:13:01 【问题描述】:

你好 *** 用户,

如何将.append(data) 仅用于1 个&lt;input type="email"&gt;

因为我用jquery.com 的文档尝试了.each(),但我还不是很清楚。

我现在拥有的是;

<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 倍 &lt;input type="email"&gt;,但是当我只填写第一个时,它应该只检查第一个 &lt;input type="email"&gt;。 但它会检查所有&lt;input type="email"&gt;

希望你们能帮助我!

问候。

[更新 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();

【问题讨论】:

分享你的html代码 data: $("input#email").val() 而不是 data: $("input#email") 【参考方案1】:

你需要在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);
    );

【讨论】:

我不认为你真的明白我的意思:( 但是我用PHP来获取数据! 出了什么问题? 检查它在所有类型为电子邮件的输入中显示。但它应该只在您输入的电子邮件中显示它!【参考方案2】:

检查下面的代码。使用数据:$(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);
    );
  
);

【讨论】:

表格在foreach里面! 脚本也在循环内? 现在什么都不做 你使用哪个版本的 jquery? 最新!喜欢总是最新的链接

以上是关于.append(data) 到所有 <input type="email">的主要内容,如果未能解决你的问题,请参考以下文章

jquery 添加li 实现 $(li).append(menu_list[attr].data).append("<ul></ul>").appe

Javascript/Ajax 颠倒了.append?

从InputConnection获取EditText中的所有文本的更好方法是什么?

js append点击事件不生效

Javascript。功能在 .append 中不起作用

jquery 清空添加删除select