Javascript 创建Pass-Fail输入函数
我正在创建一个测试表单。我已经创建了一个表单,其中包含要测试的步骤列表 而不是清单上的每一项都需要:Javascript 创建Pass-Fail输入函数,javascript,html,Javascript,Html,我正在创建一个测试表单。我已经创建了一个表单,其中包含要测试的步骤列表 而不是清单上的每一项都需要: <input type="radio" name="step1">Pass<input type="radio" name="step1">Fail 然后我称之为: <li>Step One: Turn the TV On <input id = "step1" onload="createPassFail(this.value)"> </
<input type="radio" name="step1">Pass<input type="radio" name="step1">Fail
然后我称之为:
<li>Step One: Turn the TV On
<input id = "step1" onload="createPassFail(this.value)">
</li>
第一步:打开电视
所有这些只是创建一个文本框,这不是我想要的。我也不确定onload是否正确。您应该传递id,而不是将
值传递给函数:
onload="createPassFail(this.id)"
// ^^
我说您的事件应该是onblur
,因为我不认为onload
是您应该使用的事件处理程序。您可以使用我的建议,或者在文本框旁边设置一个按钮,当单击该按钮时(使用onclick
),该按钮将执行您想要的操作
此外,您还没有将pass或fail元素插入到HTML中。试试这个:
document.body.appendChild(Pass);
document.body.appendChild(Fail);
这会将新创建的元素直接插入到body元素的末尾。如果希望它们是其中某个元素的子元素,则必须使用合适的方法访问该元素。例如,使用getElementById
:
document.getElementById( element ).appendChild(Pass); // do the same for Fail
然而,这一切都可以通过jQuery轻松完成
$(document).ready(function() {
function createPassFail(name)
{
$('body').append('<input type="radio" id="' + name + '">Pass');
$('body').append('<input type="radio" id="' + name + '">Fail');
}
$('#step1').ready(function() {
createPassFail(this.id);
});
});
$(文档).ready(函数(){
函数createPassFail(名称)
{
$('body')。追加('Pass');
$('body')。追加('Fail');
}
$('#step1')。就绪(函数(){
createPassFail(this.id);
});
});
我不需要评论框,我宁愿通过/不通过一直处于关闭状态。我试了你说的第一种方法,但没能成功。如果在执行此操作之前加载了
,则该代码应该可以工作。另外,jQueryOne对您有用吗?我看到它在JSFIDLE中有效,但在我的代码中不起作用。此外,我是否必须为每个步骤添加#step1?查看后,我还想在通过或失败选择下添加一个注释框,同样,有一个函数,我可以调用我想放置的每个位置,这比手动将其放置在每个位置要容易得多。
$(document).ready(function() {
function createPassFail(name)
{
$('body').append('<input type="radio" id="' + name + '">Pass');
$('body').append('<input type="radio" id="' + name + '">Fail');
}
$('#step1').ready(function() {
createPassFail(this.id);
});
});