Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果输入字段包含文本,如何启动函数?_Javascript_Html - Fatal编程技术网

Javascript 如果输入字段包含文本,如何启动函数?

Javascript 如果输入字段包含文本,如何启动函数?,javascript,html,Javascript,Html,以下各项的工作: 我有一系列div,每个div由一个问题、一个输入字段和一个文本链接组成,文本链接充当一个按钮,单击该按钮时,将切换当前显示的div,并将其替换为行中的下一个div: <head> <script type="text/javascript"> function displayquestion(a){ var questions = document.getElementsByClassName("questionholder");

以下各项的工作:

我有一系列div,每个div由一个问题、一个输入字段和一个文本链接组成,文本链接充当一个按钮,单击该按钮时,将切换当前显示的div,并将其替换为行中的下一个div:

<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