首先我有这个。
<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="varenummer" id="varenummer" onkeyup="gethint(this.value)" hidden=true style="display:none">
</form>
然后我有了这个
if (isset($_POST['tryk'])) {
$pri = mysql_real_escape_string($_POST['pri']);
$sek = mysql_real_escape_string($_POST['sek']);
$dat1 = mysql_real_escape_string($_POST['dat1']);
$dat2 = mysql_real_escape_string($_POST['dat2']);
$dat3 = mysql_real_escape_string($_POST['dat3']);
$dato = $dat1 . "-" . $dat2 . "-" . $dat3;
$tek = mysql_real_escape_string($_POST['tek']);
$id1 = mysql_real_escape_string($_POST['id1']);
$varenummer = mysql_real_escape_string($_POST['varenummer']);
$insert = mysql_query("insert into Servicetxt (ID2, Servicenum, PriServiceTxt,
SekServiceTxt, Teknikker, Dato, Varenum) VALUES ('NULL', '$id1', '$pri', '$sek', '$tek',
'$dato', '$varenummer')")or die(mysql_error());
}
问题是,提交按钮'tryk'放在ajax页面上。如何在isset($ _ POST ['tryk'])之前将文本框(varenummer)的值保存为php变量,而无需按任何按钮?
答案 0 :(得分:1)
PHP是服务器端编程语言,而JavaScript(jQuery)在客户端运行。
我们可以使用PHP来编写JS,但JS不能影响PHP(除了通过AJAX或类似的东西)。
您可以使用SESSION
这是示例代码。
Js代码
$("#varenummer").change(function(e)
{
e.preventDefault();
var data_posts = $(this).val();
// Send Ajax request to backend.php
$.post("/backend.php", {"varenummer": data_posts});
});
PHP代码
<?php
// do any authentication first, then add POST variable to session
$_SESSION['varenummer'] = $_POST['varenummer'];
?>
您可以全局使用该会话变量,因为$_SESSION
SUPER-GLOBAL 本身。