2011-12-29 125 views
1

我正在实现一个简单的网页,在该页面中,我有多个div对象,我试图做的是刷新一个div的内容,基于用户单击按钮或在输入字段中输入文本。如何刷新一个div的内容

到目前为止,我已经找到了适用于php的解决方案,我对此一无所知,有人可以为我提供使用javascript或jquery和简单html的解决方案吗?

+3

那你试试这么远吗? – 2011-12-29 12:31:24

+1

你打算以某种方式存储信息,或者你只是想基于某些用户输入来操纵DOM?如果您打算存储这些信息,则必须查看某种服务器端代码,例如PHP,ASP.Net或类似代码。 – 2011-12-29 12:32:26

+0

这应该是可能的,但您可能会根据页面的结构更充实一些问题。有一个文本框的网页或是每个div一个文本框? – martincarlin87 2011-12-29 12:33:04

回答

3

,如果你是新来的这一切的最简单的途径是改变div的HTML。由于ID为“小马”一个div,你可以通过改变它的内容:

document.getElementById("ponies").innerHTML = '<p>new html block</p>' 

如果你想换出另一个DIV的内容,你可以选择,而不是由createChild之后修改DOM树div,然后删除div。与修改DOM本身相比,innerHTML方法虽然简单易懂,但却是一个钝(而且很慢)的工具。但是,如果你很少这样做,并且html很简单,谁在乎?

如果你有一个用的名字,表格输入,那么你可以这样做:

function showForename(forenameDiv) { 
    var text = "<p>Your forename is " + document.getElementById(forenameDiv).text + "</p>"; 
    document.getElementById("ponies").innerHTML = text; 
} 

而且将呼叫按钮的onClick事件:

<input type="button" value="Who am I?" onclick="showForename('forenameinput')" /> 

哪里forenameinput是录名字的ID表单输入。要详细了解所有这些内容,请查看w3schools website

+0

我想我喜欢这里的想法,现在又有2个问题了:(1)如何在新的html中输入变量以嵌入用户的输入和(2)我习惯于OOP,那么如何应用该代码到按钮的点击事件?在此先感谢 – KamalSalem 2011-12-29 12:36:17

+0

这取决于你想要做什么,我已经添加了一些简单情况的细节。 – 2011-12-29 14:43:03

2

使用jQuery的例子:

$("input.button").click(function(){ 
    $('div#content').load('ajax/test.php', function() { 
     console.log('loaded.'); 
    }); 
}); 
1

基于@PhilH的答案在这里清洁的jQuery解决方案:

jQuery('#yourInput').click(function(){ 
    jQuery('#ponies').text('You wrote: ' + this.value); 
}); 

即使在jQuery的,如果你愿意,你可以输入纯HTML:

jQuery('#yourInput').click(function(){ 
    jQuery('#ponies').html('<span>You wrote: <b>' + this.value + '</b></span>'); 
});