输入以'x'开头的JavaScript

时间:2016-11-12 14:23:49

标签: javascript forms

我构建了一个带有输入字段的JavaScript应用程序,我想检查输入是否是X写入Y,但它不起作用:

<input type="text" id="inputField" style="color:#cccccc;background-color:#000000" name="inputFeld" size="90" onchange="input()" autofocus>

这是HTMl,这是JavaScript:

function input() {
    var inp = document.getElementById("inputField");
    var out = document.getElementById("output");
    if (inp.substring(1) == "x") {
        out.innerHTML = ".....";
    }
}

3 个答案:

答案 0 :(得分:1)

substring(1)删除第一个值。所以请尝试substring(0,1)并在输入元素字段中应用value。没有value没有获取输入字符串。

function input() {
    var inp = document.getElementById("inputField").value;//value is important
    var out = document.getElementById("output");
    if (inp.substring(0,1) == "x") {
        console.log('strat with x')
    }
  
}
<input type="text" id="inputField" style="color:#cccccc;background-color:#000000" name="inputFeld" size="90" onchange="input()" autofocus>

答案 1 :(得分:0)

您可以使用string[n]在第n个位置获取角色(从零开始)。 此外,onchange仅在您输出焦点时触发,您可能希望使用oninput代替每次输入元素输入时触发。

<input type="text" id="inputField" style="color:#cccccc;background-color:#000000" name="inputFeld" size="90" onchange="input()" autofocus>
<p id="output"></p>
function input() {
    var input = document.getElementById("inputField").value;
    var output = document.getElementById("output");
    if (input[0] == "x") {
        output.innerText = "the input starts with x";
    }

}

答案 2 :(得分:0)

Live demo

如果您使用 jQuery,这里是您的解决方案

let downloadButton = document.getElementById("export");
downloadButton.addEventListener("click" , ()=>{
let table = document.getElementById("attendance");

let rows = [];
for (let i = 0,row; row = table.rows[i]; i++) {
    column1 = row.cells[0].innerText;
    column2 = row.cells[1].innerText;
    column3 = row.cells[2].innerText;
    column4 = row.cells[3].innerText;
    column5 = row.cells[4].innerText;
    column6 = row.cells[5].innerText;

    rows.push([column1 , column2 , column3 , column4 , column5 , column6]);    
}

let csvContent = "data:text/csv;charset=utf-8";
rows.forEach(element => {
    row = element.join(",");
    csvContent += row + "\r\n";
});

let encodedUri = encodeURI(csvContent);
let link = document.createElement("a");
link.setAttribute("href" , encodedUri);
link.setAttribute("download" , "attendance_report.csv");
link.setAttribute("id" , "anchor");

document.body.appendChild(link);

link.click();
});

如果您使用的是 javascript,这里是您的解决方案

<input type="text" id="myinput"><br>
<div class="out"></div>

<script type="text/javascript">
$(document).on('input', '#myinput', function() {
  if ($("#myinput").val().substring(0, 1) == "x") {
    $(".out").empty().append('begins with x');
  } else {
    $(".out").empty();
  }
});
</script>

请注意,您可以使用 .substring(0,1) 代替 .charAt(0) 两者都受到很好的跨浏览器支持,但是由于浏览器支持,不建议使用 [0]。

使用 .substring(0,1) 你可以很容易地使用 .substring(0,2) 来获取第二个字符等等。