首页 > 解决方案 > textarea 上对 null 的修剪检查停止工作

问题描述

好的,所以我有一个奇怪的。我对表单上的空值进行了简单检查。

当我将表单放在 iframe 中时,它运行得非常好。但是,当我将表单带到主页并仅出现在模式窗口中(从外部树枝拉出)时,由于某种原因,检查总是返回 null。

也许我需要另一双眼睛,或者我需要关注一些继承问题。

这是我所拥有的:

<script type="text/javascript">
    $('#submit-suggestion').click(function() {
        if (!$.trim($('#items_item_eresource_notes').val())){
            alert('You must provide a reason for this revision');
            return false;
        }
    });

这是从树枝生成的 html

<textarea id="items_item_eresource_notes" name="items_item[eresource_notes]" 
placeholder="Is this a major or minor upgrade, what has changed, etc."></textarea>

如前所述,之前此脚本存在于 iframe 中。它现在处于从另一个树枝引入的模态中:

 <a class="revision" data-toggle="modal"  data-target="#requestModal" href="{{  path('publisher_suggest_revision', { 'publisher_id': pub_id, 'title_id': title_id }) }}">Suggest a Revision</a>

<div class="modal fade" id="requestModal" tabindex="-1" role="dialog" aria-labelledby="modalTitle" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" aria-hidden="true" data-dismiss="modal">&times;</button>
                <h2 class="modal-title" id="modalTitle">Suggest Revision</h2>
            </div>
            <div class="modal-body">

            </div>

        </div>
    </div>
</div>

(如果它相关的是带入模态窗口的javascript:)

$('#requestModal').modal('show').find('.modal-body').load($(this).attr('href'));

编辑: 我遗漏的一件是外部树枝中的表单使用与其父字段相同的 id 作为注释字段,因为它们来自相同的表单构建器模板。解决它涉及覆盖模板以手动创建一个新的 id,改变这个:

<div id="form-eresource">{{ form_row(form.eresource_notes, { 'attr': { 'placeholder' : 'Is this a major or minor upgrade, what has changed, etc.'}}) }}</div>

对此:

<div id="form-eresource"><textarea id="eresource-notes" name="items_item[eresource_notes]" placeholder="Is this a major or minor upgrade, what has changed, etc."></textarea></div>

标签: javascriptjquery

解决方案


推荐阅读