在keyup上获取每个输入值到PHP脚本

时间:2018-04-16 12:14:20

标签: javascript jquery html5

我正在尝试以逗号分隔的方式获取keyup上的每个输入值。我的代码在onclick事件中正常工作,但在keyup上没有。

<input type="text" class="date" name="date[]" onkeyup="showHint(this.value)" />

这是我的js函数showhint的一部分,我在那里定义输入值。

var DoB = [];
$(".date").each(function(){
     DoB.push($(this).val());
});
var newDob = DoB.slice(0,-1);

xmlhttp.open("GET","validation.php?q="+newDob+",true);

任何人都可以帮我解决这个错误吗?

提前致谢。

4 个答案:

答案 0 :(得分:0)

试试这个:

$( ".date" ).keyup(function() {
   DoB.push($(this).val());
});

答案 1 :(得分:0)

根据您的代码,您不必保留数组DoB。因为你只有一个dob元素。你可以直接获得输入值。

以下代码适合您

function showHint(){
    var DoB = $(".date").val();
    console.log(DoB);
    xmlhttp.open("GET","validation.php?q="+DoB +",true);
}

答案 2 :(得分:0)

您确定问题是keyup吗?在我看来,DoB.slice(0, -1)导致您的代码无法正常工作。

我用DoB.join(',');替换它以创建逗号分隔的字符串。

function showHint(someValue) {

var DoB = [];
$(".date").each(function(){
     //console.log($(this).val());
     DoB.push($(this).val());
});
//var newDob = DoB.slice(0, -1);
var newDob = DoB.join(',');
document.getElementById("URL").value = "validation.php?q="+newDob;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" class="date" name="date[]" onkeyup="showHint(this.value)" />
<input type="text" class="date" name="date[]" onkeyup="showHint(this.value)" />

<br>URL : <input type="text" size="50" id="URL"/>

答案 3 :(得分:0)

之前我也遇到过这种情况,当我在脚本中使用onkeyup事件时,它对我来说很好。

以下是一个例子:

document.getElementById("fname").onkeyup = function() {myFunction()};

function myFunction() {
    var x = document.getElementById("fname");
    x.value = x.value.toUpperCase();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<body>

<p>Press a key inside the text field and release it to set the text to uppercase.</p>

Enter your name: <input type="text" id="fname">
</body>
</html>