Php 相互作用的两种形式

Php 相互作用的两种形式,php,jquery,ajax,forms,Php,Jquery,Ajax,Forms,我有两张完全相同的表格,分别放在不同的页面上 第1页 此页面上的表单可以说是一个快速行动调用,它将在下一页面上预先填充表单 <form action="/xxxx" method="post"> <select id="island" name="island"> <option selected value="base">Select an Island</option> <option value=

我有两张完全相同的表格,分别放在不同的页面上

第1页

此页面上的表单可以说是一个快速行动调用,它将在下一页面上预先填充表单

<form action="/xxxx" method="post">
    <select id="island" name="island">
        <option selected value="base">Select an Island</option>
        <option value="north-island">North Island</option>
        <option value="south-island">South Island</option>
    </select>
</form>
有人帮我吗

干杯

如果结果只需要从第1页转到第2页,而不需要从第2页回到第1页,那么以下内容将起作用:

$('#island').change(function() {

  var selectedValue = $(this).val();
  // only do ajax if there is a value
  if (selectedValue) {
    jQuery.ajax({
      type: 'POST',
      data: {
        action: 'cfd_map',
        option: selectedValue
      },
      url: "xxxxxx",
      success: function(data) {
        $('.results').html(data).fadeIn('slow');
      }
    });
  }
  // now trigger change 
}).change();
它只是在声明处理程序后触发更改。触发更改之后将进行ajax调用以获得结果

由于服务器已经在第2页上设置了值,因此不需要其他本地存储-除非这需要双向工作

如果只需要从第1页到第2页的结果可用,而不需要从第2页返回到第1页,则以下操作将起作用:

$('#island').change(function() {

  var selectedValue = $(this).val();
  // only do ajax if there is a value
  if (selectedValue) {
    jQuery.ajax({
      type: 'POST',
      data: {
        action: 'cfd_map',
        option: selectedValue
      },
      url: "xxxxxx",
      success: function(data) {
        $('.results').html(data).fadeIn('slow');
      }
    });
  }
  // now trigger change 
}).change();
它只是在声明处理程序后触发更改。触发更改之后将进行ajax调用以获得结果



由于服务器已在第2页上设置了值,因此不需要其他本地存储—除非这需要双向工作

需要将状态更改存储在某个位置…服务器或本地存储中,并在页面加载时相应地更新结果。Javscript在页面之间不持久loads@charlietfl谢谢你的回复。到底在哪里?只知道基本的JS。干杯。那就试试本地存储吧。在更改处理程序中,使用值更新localStorage。在页面加载从存储器中检索时,设置select和trigger change事件的值,ajax将运行again@charlietfl像这样的?localStorage.setItem;设置方法是正确的。。。但需要从jQuery中的selectedValue执行此操作。在页面加载时…使用getitem,设置值,并在更改事件代码之后执行$'island'。更改;需要将状态更改存储在某个位置…服务器或本地存储中,并在页面加载时相应地更新结果。Javscript在页面之间不持久loads@charlietfl谢谢你的回复。到底在哪里?只知道基本的JS。干杯。那就试试本地存储吧。在更改处理程序中,使用值更新localStorage。在页面加载从存储器中检索时,设置select和trigger change事件的值,ajax将运行again@charlietfl像这样的?localStorage.setItem;设置方法是正确的。。。但需要从jQuery中的selectedValue执行此操作。在页面加载时…使用getitem,设置值,并在更改事件代码之后执行$'island'。更改;结果仅在第2页显示。第1页表单只是一个主页调用,用户可以快速选择,然后重定向到第2页并显示结果。如果用户决定跳过第1页直接转到第2页,他们可以这样做并使用表单。我们现在就从主页转到第2页试试这个解决方案。然后,如果需要返回,可以添加功能确定此解决方案似乎有效,但是如果仅使用第2页的表单,结果中不会褪色?我会给这个正确的答案。此外,如果我从第1页的表单中选择“否”选项,则仍然会将第2页的表单填充为North Island,原因是什么?最后一部分--不确定当会话为空时,会在会话中存储什么结果仅在第2页上显示。第1页表单只是一个主页调用,用户可以快速选择,然后重定向到第2页并显示结果。如果用户决定跳过第1页直接转到第2页,他们可以这样做并使用表单。我们现在就从主页转到第2页试试这个解决方案。然后,如果需要返回,可以添加功能确定此解决方案似乎有效,但是如果仅使用第2页的表单,结果中不会褪色?我会给这个正确的答案。另外,如果我从第1页的表单中选择“否”选项,则仍然会将第2页的表单填充为North Island,这是为什么?最后一部分--不确定会话为空时存储了什么
$('#island').change(function() {

  var selectedValue = $(this).val();
  // only do ajax if there is a value
  if (selectedValue) {
    jQuery.ajax({
      type: 'POST',
      data: {
        action: 'cfd_map',
        option: selectedValue
      },
      url: "xxxxxx",
      success: function(data) {
        $('.results').html(data).fadeIn('slow');
      }
    });
  }
  // now trigger change 
}).change();