PHP - AJAX调用还是有替代方案吗?

时间:2014-05-21 23:46:57

标签: php jquery ajax

我正在使用HTML5 / Bootstrap 3 CSS和PHP开展学校项目,我对PHP& Javascript(jQuery Ajax)。

所以我有一个链接“Click Me”,它基本上通过代码在一个模态框中打开一个远程php文件(让我们称之为edit.php):

<a data-toggle="modal" class="btn btn-info" href="prijzenWijzigen.php" data-target="#myModal">Click me !</a>

Image 1

值(来自数据库的ID)和列表框中的文本是通过PHP生成的,并且工作正常。我写了一些测试代码,以测试它是否提醒我所选项目的价值,这也有效!

Image 2

我想做的是:

从所选项目中获取值(获取代码)并将其传递给edit.php 这样我就可以在edit.php中操作它了。我的问题是我如何将所选值传递给edit.php页面。我通过AJAX调用google搜索了一些代码到PHP页面,但它通常只是一些杂乱的代码和我真正不需要的代码。

提前感谢您的帮助!

修改

当我使用AJAX传递所选项目的值时,这就是我现在所得到的:

Image3

我现在想要实现的是获得回复(显然是整个edit.php页面)并将其放入模式框中,如上图2所示。这仍然可以使用AJAX吗?

4 个答案:

答案 0 :(得分:2)

这将是您的ajax呼叫代码。

$.ajax({
  url : "edit.php?selected="+$("#selectMenuId :selected").val(),
  type : "GET",
  success : function(data) {
  // do something ehere if the call was successful

  },
  error : function(data) {
  // do something here if the call failed
  }
});

在PHP中:

$selectedValue = $_GET["selected"];

答案 1 :(得分:1)

要使用bootstrap远程模式执行此操作,您将删除数据属性(数据切换,数据目标,...)并使用javascript来触发模式。

// Trigger the modal when the button with the id modalButton is pressed.
$(document).ready(function() {
    $('button#modalButton').click(function() {
        $('#myModal').modal({
            remote: 'prijzenWijzigen.php?selected=' + $('#select').val()
        });
    });
});

// Remove the modal content when the modal is closed so it will reload
// the content if you change the selection and press the button again.
$(document).on('hidden.bs.modal', function (e) {
    $(e.target).removeData('bs.modal');
});

并在您的HTML中

<select id="select">
    <option value="1">1</option>
    <option value="2">2</option>
</select>

<button id="modalButton" class="btn btn-info">Click me !</button>

在PHP中,您将使用,如下所示

$_GET["selected"];

这是一个有效的JSFiddle http://jsfiddle.net/fUxcg/

答案 2 :(得分:0)

您可以将ID指定给选择框,当您调用ajax时,您可以从id中获取选择框的值,如:

var value = document.getElementById("sel_box").value;

其中sel_box是选择框的id;

然后你可以使用值变量并传入URL中的AJAX请求,如:

edit.php?id=value;

在edit.php中你可以得到:

$id = $_GET['id'];

谢谢&amp;方面

Pulkit Jalani

答案 3 :(得分:0)

$.ajax({
  type : "GET",
  url : "edit.php",
  data: {
          data: $('#selectId').find(":selected").val(),
          data2: $('#select2Id').find(":selected").val()
  },
  success: function(data) {
    $("#target").html(data); /*return result from edit.php*/    
  },
});