1

我正在做一个简单的表单演示,我希望输入显示在表单下方。目前我有它填充在控制台中。当我单击提交按钮时,它如何显示在 div 中?我的代码:

$(document).ready(function() {
    $('.submitForm').on('click',function(event){
        event.preventDefault();     

        $('#firstName').val();
        $('#lastName').val();
        $('#phoneNumber').val();
        $('#address').val();    

        console.log($('#firstName').val());
        console.log($('#lastName').val());
        console.log($('#phoneNumber').val());
        console.log($('#address').val());
    });
});                 
4

6 回答 6

1
$(document).ready(function() {
    $('.submitForm').on('click',function(event){
        event.preventDefault();                         
        //$('#firstName').val();
        //$('#lastName').val();
        //$('#phoneNumber').val();
        //$('#address').val();   

        var htmlContent = $('#firstName').val() + '<br />' + $('#lastName').val() + '<br />' + $('#phoneNumber').val() + '<br />' + $('#address').val();

        $('#ID_OF_YOUR_DIV_HERE').html(htmlContent);
    }); 
});

也许这就是你所追求的??

于 2012-10-17T15:49:56.427 回答
1

好吧,您目前没有将值放在任何地方,而是放在 console.log 中。

我希望看到类似的东西(让我们称您希望值转到的 div 为“输出”):

$(document).ready(function() {
    $('.submitForm').on('click',function(event){
        event.preventDefault();

        // Borrowing from another response, this is better
        // Putting these in variables protects you from 
        // 1) accidentally modifying your form values
        // 2) invalid input, if you add some basic checks, like
        //    testing to see if the length is > 0, doesn't contain
        //    bad characters, etc.
        var firstName = $('#firstName').val(),
            lastName  = $('#lastName').val(),
            phone     = $('#phoneNumber').val(),
            address   = $('#address').val();

        // get a reference to the div you want to populate
        var $out = $("#output");

        // This is a better way of dealing with this
        // because every call to .append() forces DOM
        // reparsing, and if you do this too often, it can cause
        // browser slowness. Better to put together one string
        // and add it all at once.
        $out.html("<p>" + firstName + "</p>" + 
                  "<p>" + $('#lastName').val() + "</p>" +
                  "<p>" + $('#phoneNumber').val() + "</p>" + 
                  "<p>" + $('#address').val() + "</p>");                    
    });
});
于 2012-10-17T15:50:44.047 回答
1
$(document).ready(function() {
    $('.submitForm').on('click',function(event){
        event.preventDefault();     
        $(this).after('<div>First name: '+$('#firstName').val()+'<br>'+
        'Last name: '+$('#lastName').val()+
        ' .... ');

    });
});  
于 2012-10-17T15:51:17.073 回答
1

.val()首先,您阅读但不做任何事情的四行基本上是浪费的周期,您可能打算将它们存储在变量中:

var firstName = $('#firstName').val();
var lastName = $('#lastName').val();
var phoneNumber = $('#phoneNumber').val();
var address = $('#address').val();

要在其他元素中显示它们,请使用.val()输入类型的 setter 版本,或者.text()如果它是显示类型(div、span 等):

$('#someOtherElement').text(firstName + '\n' + 
    lastName + '\n' 
    phoneNumber + '\n' 
    address);
于 2012-10-17T15:52:20.693 回答
-1

例如,您可以使用 .append() 将其添加到所需的 div

$("#divYouWantToAddTo").append($('#firstName'));
于 2012-10-17T15:50:27.957 回答
-1

我不知道从哪里开始......$('#....').val()中间有什么,浪费时间只是为了扔掉结果......?

与其document.getElementById('...').value浪费时间创建一个完整的 jQuery 对象只是为了访问一些琐碎的东西,这有什么问题?

向节点添加文本非常简单container.appendChild(document.createTextNode(sometext));- 如果您想在它们之间添加换行符,您也可以这样做container.appendChild(document.createElement('br'));

这里根本不需要 jQuery...

于 2012-10-17T15:50:41.710 回答