将文本框保存为变量而不提交

时间:2013-01-21 12:02:59

标签: php html

首先我有这个。

<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变量,而无需按任何按钮?

1 个答案:

答案 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 本身。