在一个按钮上组合JS和PHP。可能吗?

时间:2011-03-04 12:23:53

标签: php javascript

你好: 我知道有些人会对我的问题感到厌倦,但我正在开展一个单项目,需要尽快完成。这个问题是关于在按钮(按钮)上使用JS并在同一按钮上发送php_my_sql更新。问题是JS使用按钮,对吧?但PHP使用按钮(提交)。如何让这两个按钮在其中一个按钮上工作,因为只需要一个按钮。

这是我的JS代码

<script type="text/javascript">
function formAction(){
    var x=document.getElementById("collect")
    x.remove(x.selectedIndex)
}

</script>

HTML

<form method="post">
    <select id="collect" name="Select1" style="width: 193px">
    <option>guns</option>
    <option>knife</option>
    </select> <input type="**submit/button**" onclick="formAction()" name="Collect"  value="Collect" /></form>

PHP

    <? 
    if (isset($_POST['Collect'])) {
    mysql_query("UPDATE Player SET score = score+10
    WHERE name = 'Rob Jackson' AND rank = 'Lieutenant'");
    }

?>

5 个答案:

答案 0 :(得分:1)

这可以是一种方式

删除参数

后通过JS提交表单
<script type="text/javascript">
    function formAction(){
        var x=document.getElementById("collect")
        x.remove(x.selectedIndex);
        document.forms[0].submit();
    }

    </script>

输入类型按钮

<input type="button" onclick="formAction()" name="Collect"  value="Collect" />

答案 1 :(得分:0)

嵌入jQuery并使用$.post()发送AJAX请求。

答案 2 :(得分:0)

当用户浏览页面并将数据输入表单时,JavaScript可以与按钮进行交互。用户按下提交按钮的瞬间,表单提交的请求被发送,JS不再具有控制权。请求被发送到表单的操作(很可能是PHP文件),该操作处理请求并给出答案 如果你真的需要将两者结合起来,请研究AJAX。

答案 3 :(得分:0)

<?php print_r($_POST); ?>
<script type="text/javascript">
function formAction(){
    var x=document.getElementById("collect");
    x.remove(x.selectedIndex);
    submit_form();
}
function submit_form() {
    document.form1.submit();
}
</script>
<form method="post" name='form1'>
    <input type='hidden' name='Collect'/>
    <select id="collect" name="Select1" style="width: 193px">
    <option>guns</option>
    <option>knife</option>
    </select> <input type="button" onclick="formAction()" name="Collect"  value="Collect" /></form>
<? 
    if (isset($_POST['Collect'])) {
    //do whatever update you want
    }

?>

答案 4 :(得分:0)

简单解决方案

在表单标记

中进行此修改
<form method="post" onsubmit="return formAction()">

在JavaScript函数中添加一行“return true;”在功能结束时。

Voila .. !!!你做完了!! !!

享受.. !!