JQuery需要新的字段

时间:2014-09-11 15:13:03

标签: javascript jquery html5

我有一个表单,允许用户添加其他电子邮件输入字段。我想要制作所需的新字段。原始的单个电子邮件字段按预期运行,但不是新的。我尝试了两种方法但没有成功。 HTML

<form action="/(S(e5sipzkzq4cbahmey3c2f0xs))/Import/PostEmail" id="EmailForm" method="post" >     <fieldset>
        <legend>EmailViewModel</legend>
        <p>
            <input type="email" name="EmailAddresses" value=" " class="email" required="required" />
            <span class="btn_orange"><a href="#" class="remove_field">x</a></span>
        </p>
        <p>
            <span class="btn_orange"><a class="add_email_button" href="#">Add Another Email</a></span>
        </p>
        <p>
            <span class="btn_orange"><a type="submit" id="SendEmail_Button">Send Email</a></span>
        </p>
    </fieldset>
</form>

添加新输入:

$('.add_email_button').closest('p').click(function() {
            var html = '<p><input type="email" required="required" name="EmailAddresses" /><span class="btn_orange"><a href="#" class="remove_field">x</a></span></p>';
            $(html).insertBefore($(this));
        });

方法1:

$('body').on('click', 'span', function() {
    $('input').each(function() {
        $(this).attr('required', 'required');
    });
});

方法2:

  $('#SendEmail_Button').closest('span').click(function () {
        $('input').each(function() {
            $(this).attr('required', 'required');
        });
        $('#EmailForm').submit();
    });

接近3

$('#SendEmail_Button').closest('span').click(function() {
            if ($('#EmailForm').valid()) {
                $.post('@Url.Action("PostEmail")', $("#EmailForm").serialize());
            history.go(-1);}
        });

1 个答案:

答案 0 :(得分:1)

尝试此操作并定位用户添加的新输入字段,而不是input(使用更具体的类)。

$('body').on('focus', '.inputClass', function() {
    $(this).attr('required', 'required');
});

http://jsfiddle.net/qa0ry2fk/3/