0

フィールドに挿入されたコンテンツから、テキストエリア内のコードを編集するこの jQuery があります。ここでライブを見ることができます。問題は、ユーザーがフィールドのいずれかに何かを入力しないと、プレースホルダーがコードに挿入されることです。代わりに、フィールドが空のままになっている場合に通常の識別子が置き換えられるのではなく、そこにとどまることを望みます。

ここにjQueryコードがあります。

$(document).ready(function(){
    var basicHtml = ($('.code').html()).replace(/&lt;/g,'<').replace(/&gt;/g,'>');

    $('.code').val(basicHtml);

    $('form').on('submit',function() {
        var content = basicHtml;
        content = content.replace(/%name%/g, ($('#name').val()||$('#name').attr('placeholder')));
        content = content.replace(/%slogan%/g, ($('#slogan').val()||$('#slogan').attr('placeholder')));
        content = content.replace(/%description%/g, ($('#description').val()||$('#description').attr('placeholder')));
        content = content.replace(/%bio%/g, ($('#bio').val()||$('#bio').attr('placeholder')));
        content = content.replace(/%analytics%/g, ($('#analytics').val()||$('#analytics').attr('placeholder')));
        content = content.replace(/%favicon%/g, ($('#favicon').val()||$('#favicon').attr('placeholder')));
        var final = content.replace(/%dribbble_username%/g, ($('#dribbble').val()||$('#dribbble').attr('placeholder')));
        $('.code').val(final);

        return false;
    }).on('reset',function(){
        $('form textarea:not(.code),form input').val();
        $('.code').val(basicHtml);
    });

});

ありがとう!

4

1 に答える 1

1

基本的には、プレースホルダー属性を読み取って設定しています。固定コード:

$(document).ready(function(){
    var basicHtml = ($('.code').html()).replace(/&lt;/g,'<').replace(/&gt;/g,'>');

    $('.code').val(basicHtml);

    $('form').on('submit',function() {
        var content = basicHtml;
        content = content.replace(/%name%/g, ($('#name').val()));
        content = content.replace(/%slogan%/g, ($('#slogan').val()));
        content = content.replace(/%description%/g, ($('#description').val()));
        content = content.replace(/%bio%/g, ($('#bio').val()));
        content = content.replace(/%analytics%/g, ($('#analytics').val()));
        content = content.replace(/%favicon%/g, ($('#favicon').val()));
        var final = content.replace(/%dribbble_username%/g, ($('#dribbble').val()));
        $('.code').val(final);

        return false;
    }).on('reset',function(){
        $('form textarea:not(.code),form input').val();
        $('.code').val(basicHtml);
    });

});
于 2013-04-04T02:53:23.923 に答える