javascript - 如何从输入中获取值并将其用作 jQuery 变量?

标签 javascript jquery input

我不太熟悉 JavaScript/jQuery,但我已经成功编写了一个民意调查脚本,该脚本允许用户对民意调查进行投票并显示结果,而无需刷新页面。这是我想出的 jQuery 代码:

 $("#poll_yes").click(function(){
                    $("#poll_options").html(ajax_load); 
                    $.post(  
                        "query.php?module=vote",  
                        {answer: "yes", pid: "<? display($_GET['username'], poll_id); ?>", to: "<?= $_GET['username'] ?>"},
                        function(responseText){  
                            $("#poll_options").html(responseText); 
                        },  
                        "html"  
                    );  
                });
$("#poll_no").click(function(){
                $("#poll_options").html(ajax_load); 
                $.post(
                    "query.php?module=vote",  
                    {answer: "no", pid: "<? display($_GET['username'], poll_id); ?>", to: "<?= $_GET['username'] ?>"},
                    function(responseText){  
                        $("#poll_options").html(responseText);  
                    },  
                    "html"  
                );  
            }); 

这将获取页面上输入元素的 id,然后根据 id 将查询发送到 query.php。然后,query.php 将发送回响应,然后该响应将显示在页面上。

这个脚本运行良好,但我遇到了另一个挑战。我需要在一页上显示多个民意调查。我正在使用 php 从 SQL 数据库生成民意调查,并且想知道是否可以提取“answer: no”、“answer:yes”、“pid: $id”、“to: $username”的值等..来自一个领域。如果可能的话,整个页面是否需要多个表格(针对每个民意调查)?或者一个表单足以满足多个输入吗?

最佳答案

您可以为每个民意调查提供一个表单,并将 pid 作为 type="hidden"的输入包含在内。然后,您可以在所有表​​单提交事件上附加回调,而不是使用"is"或“否”按钮(通过 ID)的单击。这还可以让您将两个函数折叠成一个回调。

<script>
$("form.Poll > input[type='button']").click(function(e) {
    e.preventDefault();
    var form= $(this).closest("form");
    alert("QuestionId:"+$("input[name='QuestionId']", form).val()+" clicked on:"+$(this).val());
});
</script>
<form method='POST' action='update.php' class='Poll'>
  <input type='hidden' name='QuestionId' value='1'/>
    Do you like jQuery?
  <input type='button' name='Answer' value='Yes'/>
  <input type='button' name='Answer' value='No'/>
</form>
<form method='POST' action='update.php' class='Poll'>
  <input type='hidden' name='QuestionId' value='2'/>
    Do you like AJAX?
  <input type='button' name='Answer' value='Yes'/>
  <input type='button' name='Answer' value='No'/>
</form>
<form method='POST' action='login.php'>
  This form will fire like a normal form if you click on submit but it will not pass though the submit script defined above
  <input type='submit' name='Answer' value='Login'/>
</form>

这可以在 http://jsfiddle.net/te9YL/ 进行测试

关于javascript - 如何从输入中获取值并将其用作 jQuery 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8800046/

相关文章:

javascript - jQuery 检查平板电脑?

javascript - 如何才能使输入字段为空时按钮不执行任何操作?

javascript - 输入值 - 未定义或未显示

jquery - 我如何在 "data"属性中使用 href 链接 - 或者用 jQuery 重写它?

jquery - 如何使用外部按钮更新剑道网格上的多行

javascript - 使用 jQuery 对元素进行排序、删除和附加元素在 IE 中不起作用

javascript - 如何一次为多个标签设置属性

javascript - 即使在 SUCCESS 之后,React 也会执行 PROMISE 的 CATCH 语句

javascript - 创建一个具有始终向右移动的 DOM 元素的应用程序,每次更新的速度为 2 个像素

c# - 如何自动添加文本框