如何获得一个令人满意的跨度文本?

时间:2017-04-23 15:39:02

标签: jquery html contenteditable

我的twig模板中有一个包含可满足范围的表单。我希望更新新文本并将其附加到跨度,因此当表单被提交时,它包含新文本。

这是我的html表单:

<form action="{{ path('change') }}" method="post">
    <span name="profil" class="profil" contenteditable="true">{{ prof.libel }}</span>
    <button name="change" type="submit">
    </button>
</form>

这是我的jQuery脚本:

<script>
    $(document).ready(function () {
        $('span.profil').change(function () {
            $text = $(this).text();
            $(this).append(document.createTextNode($text));
        });
    });
</script>

1 个答案:

答案 0 :(得分:1)

SPAN元素没有此类change事件。您应该在BUTTON的click事件中或在FORM的submit事件中捕获范围的文本,例如

$('#theForm').on("submit", function() {
    var text = $('span.profil').text();
    // or  $('span.profil')[0].innerHTML;
});

// or...
$('#theButton').on("click", function() {
    var text = $('span.profil').text();
});

参考divspan和其他人实施了 HTMLElement 界面,该界面没有互动change事件。检查支持处理change event的元素。