我有一个注册表单,要求提供一些基本的详细信息。我希望能够将该人的名字添加到同一页面上的问题中,而无需提交表单来执行此操作。将HTML更改为输入字段更改
ie当页面加载时,问题将是“参加者1是否是委托人?”,但是当他们键入他们的名字时,它会变成“是马修是代表人吗?”
的问题是在同一页上,所以我知道这必须用jQuery做莫名其妙...
任何帮助是极大的赞赏。
我有一个注册表单,要求提供一些基本的详细信息。我希望能够将该人的名字添加到同一页面上的问题中,而无需提交表单来执行此操作。将HTML更改为输入字段更改
ie当页面加载时,问题将是“参加者1是否是委托人?”,但是当他们键入他们的名字时,它会变成“是马修是代表人吗?”
的问题是在同一页上,所以我知道这必须用jQuery做莫名其妙...
任何帮助是极大的赞赏。
如果你的HTML看起来是这样的
<div>Is <strong id='name'>Attendee 1</strong> a delegate?</div>
<input type='text' id='name-input'></input>
然后,你可以像这样没有jQuery的做到这一点:
window.addEventListener('load', init);
function init() {
var input, name;
input = document.getElementById('name-input');
name = document.getElementById('name');
input.addEventListener('change', function() {
var value = input.value;
if(value.length === 0) {
value = 'Attendee 1';
}
name.innerHTML = value;
});
}
当然,你可以做jQuery的同样的事情,但是这是这正是双向绑定库和框架为自己提供的东西。这就是我在AngularJS中做这件事的方式。
<div ng-controller='MyFormController'>
<div>Is <strong ng-bind='name'></strong> a delegate?</div>
<input type='text' ng-model='name'></input>
</div>
而且JS:
function MyFormController($scope) {
$scope.name = 'Attendee 1';
}
角,灰烬,骨干网和淘汰赛都是好东西来看看!
您应该使用OnBlur属性。调用OnBlur中的一个函数,该函数从输入中提取数据并将其放入标签中。
在HTML中使用标签来围绕您想要动态替换的数据。使用JavaScript或JQuery查找这些标签并替换其中的数据。
你可以这样做:如果没有必要进行数据库查询,然后`$( '#元素')
<html>
<head>
<title>Title</title>
</head>
<body>
<input type="text" id="name" name="name" onChange="document.getElementById('name_new').innerHTML = document.getElementById('name').value"/>
<div> Is <strong id='name_new'>Attendee 1</strong> a delegate?</div>
</body>
</html>
在你的HTML中写入你的JS可能是一个坏主意。 http://programmers.stackexchange.com/questions/86589/why-should-i-avoid-inline-scripting –
你是对的,但他可以把onChange监听器转到另一个js文件,感谢您的评论。 –
模糊(函数(){/ *在这里做你的事* /}) '; – PHPglue