Javascript 如果输入字段包含文本,如何启动函数?
以下各项的工作: 我有一系列div,每个div由一个问题、一个输入字段和一个文本链接组成,文本链接充当一个按钮,单击该按钮时,将切换当前显示的div,并将其替换为行中的下一个div:Javascript 如果输入字段包含文本,如何启动函数?,javascript,html,Javascript,Html,以下各项的工作: 我有一系列div,每个div由一个问题、一个输入字段和一个文本链接组成,文本链接充当一个按钮,单击该按钮时,将切换当前显示的div,并将其替换为行中的下一个div: <head> <script type="text/javascript"> function displayquestion(a){ var questions = document.getElementsByClassName("questionholder");
<head>
<script type="text/javascript">
function displayquestion(a){
var questions = document.getElementsByClassName("questionholder");
for(var i=0; i < questions.length; i++) {
questions[i].style.display = "none";
}
var nextQuestion = document.getElementById("question" + a);
if(nextQuestion !== null) {
nextQuestion.style.display = "block"
}
}
</script>
</head>
<div id="requiredMessage" style="display:none">This field is required.
</div>
<form id="TheForm" style="display:block;">
<div class="questionholder" id="question0" style="display:block">
<a class="text2button" onclick="displayquestion(1)">Start</a>
</div>
<div class="questionholder" id="question1" style="display:none">
<h5>Surname</h5>
<input id="required" name="ln"><br>
<a class="text2button" onclick="displayquestion(2)">Next</a>
</div>
<div class="questionholder" id="question2" style="display:none">
<h5>Given Name</h5>
<input name="gn"><br>
<a class="text2button" onclick="displayquestion(3)">Next</a>
</div>
.... and so on 35 times
</form>
功能显示问题(a){
var questions=document.getElementsByClassName(“问题持有人”);
对于(var i=0;i
function displayquestion(a){
var currentDIV = document.getElementById("question" + a);
var currentInput = document.querySelector('input').value;
var questions = document.getElementsByClassName("questionholder");
var showRequired = document.getElementById("requiredMessage");
console.log(currentInput == '');
if (a == 1){ // Enter here all question # that should be IGNORED. question0 = 1, question1 = 2, etc
showRequired.style.display = "none";
for(var i=0; i < questions.length; i++) {
questions[i].style.display = "none";
}
var nextQuestion = document.getElementById("question" + a);
if(nextQuestion !== null) {
nextQuestion.style.display = "block";
}
} else {
if (currentInput == '') {
showRequired.style.display = "block";
}
}
}
函数显示问题(a){
var currentDIV=document.getElementById(“问题”+a);
var currentInput=document.querySelector('input')。值;
var questions=document.getElementsByClassName(“问题持有人”);
var showRequired=document.getElementById(“requiredMessage”);
console.log(currentInput='');
如果(a==1){//在这里输入所有应该忽略的问题#。问题0=1,问题1=2,等等
showRequired.style.display=“无”;
对于(var i=0;i
更新了所有给定的问题。
如果您希望输入是必需的,请向其添加必需的
干杯
。无效{
长方体阴影:0 5px红色;
}
变量输入类型;
功能显示问题(a){
var thisQuestion=document.getElementById(“问题”+(a-1));
var nextQuestion=document.getElementById(“问题”+a);
var questionInput=thisQuestion.querySelector('input')| |';
var输入值;
如果(inputType==“button”| |!questionInput.required){//无输入或不需要输入
inputValue='按钮'
}else if(questionInput&&questionInput.type==“text”){//input为text
inputValue=questionInput.value;
inputType='文本';
}else如果(questionInput&&questionInput.type==“radio”){//input是radio
var radioInput=document.querySelector('input[name='+questionInput.name+']:选中');
如果(放射性输入)输入值=放射性输入值;
inputType='收音机';
}else{//无输入
inputValue='按钮'
}
如果(输入值){
//如果有多个标签,请按“输入类型”按钮
输入类型=“”;
if(nextQuestion&&nextQuestion.getElementsByTagName(“a”).length>1)
inputType='按钮';
//隐藏所有问题
var questions=document.getElementsByClassName(“问题持有人”);
对于(var i=0;i
下一个
姓名
下一个
问题3
下一个
选择一个答案
对
不
选择题
生日
生日和假日
以防您没有注意到
这些是无线电接口
其他
下一个
这个很棘手。必须选择两个单选按钮中的一个,但文本输入是可选的
是。如果需要,请在下面输入您的姓名
否
下一个
您可以在输入的键控
事件处理程序上显示下一步
按钮
document.querySelectorAll(".inputText").forEach(function(inputItem){
inputItem.addEventListener("keyup", function(event){
if(event.target.value==""){
((event.target).closest("div")).getElementsByTagName("a")[0].style.display = "none";
}else{
((event.target).closest("div")).getElementsByTagName("a")[0].style.display = "block";
}
});
});
请参见下面的代码段:
显示问题(1);
功能显示问题(a){
var questions=document.getElementsByClassName(“问题持有人”);
对于(var i=0;i
请求姓氏
下一个
姓名
N