用于处理表单行为的Javascript代码

用于处理表单行为的Javascript代码,javascript,forms,Javascript,Forms,情况是这样的: 我有一些简单的表格 <form action='settings.php' method='post'> <input type='hidden' name='setting' value='value1'> <input type='submit' value='Value1'> </form> 其他与之相近的小表单有value2、value3。。。对于具体设置1等 现在,我把所有这些表单都放在settings.php子页面上,

情况是这样的:

我有一些简单的表格

<form action='settings.php' method='post'>
<input type='hidden' name='setting' value='value1'>
<input type='submit' value='Value1'>
</form>
其他与之相近的小表单有value2、value3。。。对于具体设置1等

现在,我把所有这些表单都放在settings.php子页面上,但为了便于访问,我还希望在index.php子页面上有一个或两个表单的副本,因为它们在某些情况下非常常用。 问题是,我不希望那些基于index.php的表单以任何方式将我重定向到settings.php,只需将隐藏的值发布到altersettings即可

如何使用JS实现这一点


干杯

是的,您可以使用ajax调用向settings.php文件发送请求。您可能希望PHP代码返回JavaScript可以用来判断请求是否成功的内容,例如,使用JSON而不是HTML

function getData(dataSource, targetDiv){

  var XMLHttpRequestObject = false;

  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    XMLHttpRequestObject = new
      ActiveXObject("Microsoft.XMLHTTP");
  }

    if(XMLHttpRequestObject) {
      var obj = document.getElementById(targetDiv);
      XMLHttpRequestObject.open("GET", "settings.php?form="+dataSource+"&t="+new Date().getTime());

      XMLHttpRequestObject.onreadystatechange = function()
      {
        if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
            obj.innerHTML = XMLHttpRequestObject.responseText;
        }
      }

      XMLHttpRequestObject.send(null);
    }
}
使用此函数将表单发送到setting.php文件,该文件将向index.phpinside targetDiv返回确认消息

函数的参数

1 dataSource-是发送到settings.php的变量值

2 targetDiv-是索引php上的div,用于显示来自settings.php的响应


希望它有意义。

我还不熟悉AJAX,有什么线索可以从哪里开始吗?谢谢,我绝对建议您调查jquery以帮助编写JavaScript代码。我可以想到您需要执行的步骤:-使用Bind方法将button click事件绑定到JavaScript函数中-在该函数中,将设置序列化为settings.php将接受的格式-使用jQuery.get方法进行AJAX调用发送设置数据-修改settings.php以输出JSON(如果从AJAX调用中调用)-根据settings.php的响应,向用户提供反馈。