我是jquery的新手,我最近才发现它的惊人用途,请对我这么容易。
我要做的是拥有一个html输入文本框,让变量立即解析输入,并通过jquery将包含输入文本框字符串的变量发送到php switch语句中。
从jquery到php的部分可以工作,但是从动态输入文本框传输到jquery变量的部分却没有。
这就是我所拥有的:
<script src="jquery-1.8.3.js"></script>
<input id="in" type="text" onchange="myFunction()" />
<script>
function myFunction()
{
var a = document.getElementById("in");
}
// i am trying to make this var a equal to what is typed in the input box so that it can go into the "jsvar: a" part //
$(document).ready(function(){
$("button").click(function(){
$.post("runphp.php", { jsvar: a}, function(jsvar){ alert(jsvar);
});
});
});
</script>
<button>Run php switch statement with input</button>
并且“runphp.php”文件只是一个有效的switch语句
<?php
switch($_POST['jsvar'])
{
case "pass":
echo "<3"; break;
case "other stuff":
echo "</3"; break;
default:
echo ":(";
}
?>
php部分工作正常。 但问题是,如果我宣布,例如,var a =“pass”而不是onchange&amp; myFunction的();然后jquery部分完美地工作并将该值传递到jquery并进入php switch语句,但是当我尝试使var a =输入框时,它将不会进入php。我尝试创建一个onchange函数,但它仍然不会使var等于我在输入框中键入的内容,以便它通过jquery传递到php switch语句。
答案 0 :(得分:3)
您缺少.value
var a = document.getElementById("in").value;
<强>第二强>
您使用如下的jquery
var a = $("#in").val();
更改JS功能如下
$(document).ready(function(){
$("button").click(function(){
$.post("runphp.php", { jsvar: $("#in").val()}, function(jsvar){ alert(jsvar);
});
});
});
答案 1 :(得分:1)
您也可以使用jquery来选择值:
var a = $("#in").val();
答案 2 :(得分:1)
jQuery的一大好处是:
var a = document.getElementById("in");
变为
$("#in")
您只需获取值$("#in").val()