-5

首先我有这个。

<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']) 之前将 textbox(varenummer) 的值保存为 php 变量,而无需按下任何按钮?

4

1 回答 1

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本身一样全局使用该会话变量。

于 2013-01-21T12:14:56.440 回答