javascript - 通过 JavaScript 将值传递给 php 脚本

标签 javascript php jquery html

我正在尝试根据 div/form 的输入值显示 php 文件的结果。

我有以下 JavaScript:

<script>
    $(document).ready(function(){

        $('#ranksubmit').click(function() { 
            $.ajax({
            type: "post",
            url: "queryrankings.php",
            data:  $("#query-form").serialize(),
            success: function(result){
                $(".results-table").html(result);
            }

        });
            //return false;
      }); 

    });
</script>

它应该将这个 div 的值传递给 php 脚本 queryrankings.php :

 <div class="form-horizontal" id="query-form"  >
                <fieldset>

                <!-- Form Name -->
                <legend class = "text-center">Query Rankings<hr></legend>

                <!-- Multiple Radios (inline) -->
                <div class="form-group">
                  <label class="col-md-4 control-label" for="ranktype">Ranking Type:</label>
                  <div class="col-md-4"> 
                    <label class="radio-inline" for="ranktype-0">
                      <input type="radio" name="ranktype" id="ranktype-0" value="1" checked="checked">
                      Author
                    </label> 
                    <label class="radio-inline" for="ranktype-1">
                      <input type="radio" name="ranktype" id="ranktype-1" value="2">
                      University
                    </label>
                  </div>
                </div>

                <!-- Select Basic -->
                <div class="form-group">
                  <label class="col-md-4 control-label" for="startyear">From:(ie. 2010)</label>
                  <div class="col-md-4">
                    <select id="startyear" name="startyear" class="form-control">
                      <option value="2010">2010</option>
                      <option value="2011">2011</option>
                      <option value="2012">2012</option>
                      <option value="2013">2013</option>
                      <option value="2014">2014</option>
                      <option value="2015">2015</option>
                    </select>
                  </div>
                </div>

                <!-- Select Basic -->
                <div class="form-group">
                  <label class="col-md-4 control-label" for="endingyear">To:(ie. 2015)</label>
                  <div class="col-md-4">
                    <select id="endingyear" name="endingyear" class="form-control">
                      <option value="2010">2010</option>
                      <option value="2011">2011</option>
                      <option value="2012">2012</option>
                      <option value="2013">2013</option>
                      <option value="2014">2014</option>
                      <option value="2015" selected="selected">2015</option>
                    </select>
                  </div>
                </div>


                <!-- Multiple Radios (inline) -->
                <div class="form-group">
                  <label class="col-md-4 control-label" for="journalselection">Journal Selection:</label>
                  <div class="col-md-4"> 
                    <label class="radio-inline" for="journalselection-0">
                      <input type="radio" name="journalselection" id="journalselection-0" value="all" checked="checked" onclick="CheckBoxes(1)" >
                      All Journals
                    </label> 
                    <label class="radio-inline" for="journalselection-1">
                      <input type="radio" name="journalselection" id="journalselection-1" value="basket" onclick="CheckBoxes(2)">
                      AIS Basket of Journals
                    </label>
                    <label class="radio-inline" for="journalselection-2">
                      <input type="radio" name="journalselection" id="journalselection-2" value="top2" onclick="CheckBoxes(3)">
                      Top 2 Journals
                    </label>
                    <label class="radio-inline" for="journalselection-3">
                      <input type="radio" name="journalselection" id="journalselection-3" value="custom" onclick="CheckBoxes(4)">
                      Custom Selection
                    </label>
                  </div>
                </div>


                <!-- Multiple Checkboxes (inline) -->
                <div class="form-group">
                  <label class="col-md-4 control-label" for="journals">Journals:</label>
                  <div class="col-md-4">
                    <label class="checkbox-inline" for="journals-0">
                      <input type="checkbox" name="journals" id="journals-0" value="misq" checked onclick="CustomSelection()">
                      MISQ
                    </label>
                    <label class="checkbox-inline" for="journals-1">
                      <input type="checkbox" name="journals" id="journals-1" value="isr" checked onclick="CustomSelection()">
                      ISR
                    </label>
                    <label class="checkbox-inline" for="journals-2">
                      <input type="checkbox" name="journals" id="journals-2" value="jmis" checked onclick="CustomSelection()">
                      JMIS
                    </label>
                    <label class="checkbox-inline" for="journals-3">
                      <input type="checkbox" name="journals" id="journals-3" value="jais" checked onclick="CustomSelection()">
                      JAIS 
                    </label>
                    <label class="checkbox-inline" for="journals-4">
                      <input type="checkbox" name="journals" id="journals-4" value="ejis" checked onclick="CustomSelection()">
                      EJIS
                    </label>
                    <label class="checkbox-inline" for="journals-5">
                      <input type="checkbox" name="journals" id="journals-5" value="isj" checked onclick="CustomSelection()">
                      ISJ
                    </label>
                    <label class="checkbox-inline" for="journals-6">
                      <input type="checkbox" name="journals" id="journals-6" value="jsis" checked onclick="CustomSelection()">
                      JSIS
                    </label>
                    <label class="checkbox-inline" for="journals-7">
                      <input type="checkbox" name="journals" id="journals-7" value="jit" checked onclick="CustomSelection()">
                      JIT
                    </label>
                    <label class="checkbox-inline" for="journals-8">
                      <input type="checkbox" name="journals" id="journals-8" value="dss" checked onclick="CustomSelection()">
                      DSS
                    </label>
                    <label class="checkbox-inline" for="journals-9">
                      <input type="checkbox" name="journals" id="journals-9" value="iandm" checked onclick="CustomSelection()">
                      I&M
                    </label>
                  </div>
                </div>

                <!-- Select Basic -->
                <div class="form-group">
                  <label class="col-md-4 control-label" for="selectbasic">COMING SOON!  Category:</label>
                  <div class="col-md-4">
                    <select disabled id="selectbasic" name="selectbasic" class="form-control">
                      <option value="1">Region, NCAA Conference, & More!</option>
                      <option value="2">N/A</option>
                    </select>
                  </div>
                </div>

                <!-- Button -->
                <div class="form-group">
                  <label class="col-md-4 control-label" for="ranksubmit"></label>
                  <div class="col-md-4">
                    <button id="ranksubmit"  class="btn btn-default-border wow tada">Submit</button>
                  </div>
                </div>

                </fieldset>
                </div>

当我尝试 $_POST php 脚本中的值不起作用。它不应该读入这个 div 中的值吗?

这是 php.ini 文件。它会返回一个常规的打印语句,但它不会打印我假设的已发布变量,因为它没有读取任何内容:

<?php

		$dbHost = "localhost";
		$dbUsername = "user_rw";
		$dbPassword = "";
		$dbName = "webdb";

		// Create connection
		$db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);
		// Check connection
		if ($db->connect_error) {
		die("Connection failed: " . $db->connect_error);
		} else {
		
		$type = $_POST['ranktype'];
		print $type;

		}
?>

我正在使用 <div>而不是 <form>因为我不希望在单击提交按钮时重新加载页面。

最佳答案

<div class="form-horizontal" id="query-form"  > ...</div>

应该是form tag

<form class="form-horizontal" id="query-form"  > .... </form>

已更新。

$('#ranksubmit').click(function(e) {
  e.preventDefault()
 // the rest of the code
}); 

使用 <input type="button"/> , 或 e.preventDefault()return false以防止提交表单。

关于javascript - 通过 JavaScript 将值传递给 php 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33990743/

相关文章:

javascript - jQuery .html() 返回 null

javascript - 相当于 JavaScript 的 hasOwnProperty 的 JQuery 或 Underscore

jquery - 脚本5 : Access is denied IE09 and IE10

javascript - 为消息系统附加/添加子 Div (jQuery)

javascript - Fineuploader-添加jqCrop

javascript - angularjs.在 http.get 之后显示对象属性

Javascript 和 jQuery 将灰色按钮变成红色

javascript - 通过动态创建默认值为 Canvas 图像的 html 文件元素上传克隆的 Canvas 照片

php - MySQL 按记录类型限制

php - mysql 查询 ORDER BY 提供的条件