获取输入框的值,没有表单?

时间:2010-04-05 18:31:07

标签: php forms mysql

有没有人知道如何在没有表格的情况下获得输入框的价值?我想要一个提交按钮,但我不想提交表单,而是希望它能够更改MySQL数据库中的数据。这样的事可能吗?

$img1="WHAT DO I PUT HERE?"
$idx=1  
$sql="INSERT INTO games SET img1='$img1' WHERE id=$idx";  
$result=mysql_query($sql); 

我可以在“onclick”事件中使用该代码吗?输入框的名称和ID是“img1”。

2 个答案:

答案 0 :(得分:4)

如果您不想提交表单,则只需另外两种方法即可在网址中单击包含数据作为查询参数的链接,或使用AJAX将数据发送到后台服务器

更新

像往常一样,Javascript。您可以在页面的某处放置一个链接或按钮,其中包含“发送到服务器”或文本的任何内容。该脚本将从输入字段中提取您的信息,然后通过AJAX调用将其发送到服务器。这些方面的东西(请注意,我正在使用Mootools来实现所有这些,因为它使生活变得比自己进行远程调用更容易):

 function clickHandler() {
     var img1 = $$("input[name='img1']")[0].value;

     var r = new Request.JSON({
         'url: 'http://yourserver.example.com/script.php',
         'method': 'post',
         'onComplete': function(success) { alert('AJAX call status: ' + (success ? 'succeeded': 'failed!'); },
         'onFailure': function() { alert('Could not contact server'); },
         'data': 'img1=' + img1
     }).send();
}

在服务器上你会有类似的东西:

<?php

$img1 = mysql_real_escape_string($_POST['img1']);
$idx=1;
$sql="INSERT INTO games SET img1='$img1' WHERE id=$idx";  
$result=mysql_query($sql);

echo (($result !== FALSE) ? 1 : 0);

你可能想要比这更复杂的东西,但这是AJAX应用程序的基础。一些客户端javascript发出请求,服务器上的脚本处理它们并根据需要返回任何数据/错误。

答案 1 :(得分:0)

不知道你是否完全反对使用表格,或者可能不知道如何隐藏它。

您可以创建隐藏的表单,只需单击按钮即可提交信息。

<form name="hidden-form" action="youraction.php" method="post">
<input type="hidden" name="submitme" value="I get submitted">
<input type="hidden" name="submitmetoo" value="I get submitted">
<input type="hidden" name="submitmeaswell" value="I get submitted">
<input type="hidden" name="dontleavemeout" value="I get submitted">
<input name="submit" type="submit" value="SUBMIT" />
</form>

然而,任何查看你的HTML的人都能看到这个