Javascript 附加D3时表单验证不起作用
我使用d3构建了一个带有单选按钮的表单,如下所示:Javascript 附加D3时表单验证不起作用,javascript,html,jquery,d3.js,Javascript,Html,Jquery,D3.js,我使用d3构建了一个带有单选按钮的表单,如下所示: var评级形式=d3.选择(“主体”) .append('form') .attr(“类别”、“评级”); //附加上下投票单选按钮 var radio_groups=评级_表格.append('div').attr('class','form group'); //向上广播 var无线电组=无线电组 .append('div')) .attr('class','form check form check inline upvote'); 电
var评级形式=d3.选择(“主体”)
.append('form')
.attr(“类别”、“评级”);
//附加上下投票单选按钮
var radio_groups=评级_表格.append('div').attr('class','form group');
//向上广播
var无线电组=无线电组
.append('div'))
.attr('class','form check form check inline upvote');
电台
.append('输入')
.attr('class','form check input')
.attr('type','radio')
.attr('name','voting radio')
.attr('value','thumbup')
.attr(“必需的”);
radio_grp_chk.append('span').text('upvote');
//向下广播
var radio_grp_chk2=无线电组
.append('div'))
.attr('class','form check form check inline downvote');
无线电通信组chk2
.append('输入')
.attr('class','form check input')
.attr('type','radio')
.attr('name','voting radio')
.attr('value','thumbdown')
.attr(“必需的”);
radio_grp_chk2.append('span').text('downvote');
//附加文本区域
评级表
.append('div'))
.attr('class','formgroup')
.append('textarea')
.attr('class','form control feedback text')
.attr('占位符','输入文本…');
//提交按钮
评级表
.append('按钮')
.attr('类型','按钮')
.attr('class','btn btn主要评级btn')
.text('Submit!')代码>
问题不在于你的.attr(“必需的”)
,问题在于你应该是“提交”
,而不是“按钮”
:
由于“submit”
是默认类型,因此您也可以删除方法.attr('type','button')
以下是更改后的代码:
var评级形式=d3.选择(“主体”)
.append('form')
.attr(“类别”、“评级”);
//附加上下投票单选按钮
var radio_groups=评级_表格.append('div').attr('class','form group');
//向上广播
var无线电组=无线电组
.append('div'))
.attr('class','form check form check inline upvote');
电台
.append('输入')
.attr('class','form check input')
.attr('type','radio')
.attr('name','voting radio')
.attr('value','thumbup')
.attr(“必需的”);
radio_grp_chk.append('span').text('upvote');
//向下广播
var radio_grp_chk2=无线电组
.append('div'))
.attr('class','form check form check inline downvote');
无线电通信组chk2
.append('输入')
.attr('class','form check input')
.attr('type','radio')
.attr('name','voting radio')
.attr('value','thumbdown')
.attr(“必需的”);
radio_grp_chk2.append('span').text('downvote');
//附加文本区域
评级表
.append('div'))
.attr('class','formgroup')
.append('textarea')
.attr('class','form control feedback text')
.attr('占位符','输入文本…');
//提交按钮
评级表
.append('按钮')
.attr('type','submit')
.attr('class','btn btn主要评级btn')
.text('Submit!')代码>
谢谢,它很有效。但是,我不希望单击按钮后页面刷新。onclick监听器将进行一些ajax调用来发送表单数据。有没有办法仍然保留type=button
并验证表单?好吧,这是一个不同的问题(即使与您的问题相关),因此我建议您发布一个新问题。@hydradon顺便说一句,当您发布新问题时,不要使用d3
标记(因为您看到的问题与d3无关),只要使用javascript
、jquery
和html
,你就会吸引更多的注意力。当然,我会先研究一些
rating_form
.append('button')
.attr('type', 'submit')
//etc...