Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将原型脚本更改为jquery-one_Jquery_Forms_Prototypejs - Fatal编程技术网

将原型脚本更改为jquery-one

将原型脚本更改为jquery-one,jquery,forms,prototypejs,Jquery,Forms,Prototypejs,我有此表格提交代码: Event.observe(window, 'load', init, false); function init() { Event.observe('addressForm', 'submit', storeAddress); } function storeAddress(e) { $('response').innerHTML = 'Adding email address...'; var pars = 'address=' + escape($F('

我有此表格提交代码:

Event.observe(window, 'load', init, false);
function init() {
  Event.observe('addressForm', 'submit', storeAddress);
}
function storeAddress(e) {
  $('response').innerHTML = 'Adding email address...';
  var pars = 'address=' + escape($F('address'));
  var myAjax = new Ajax.Updater('response', 'ajaxServer.php', {method: 'get', parameters: pars});
  Event.stop(e);
}
如何将其更改为使用jQuery

以下是html表单:

这是文档开头的php代码:

<?php
require_once("inc/storeAddress.php");
?>
大概是这样的:

$(function() {
    $('#addressForm').submit(function() {
        $('#response')
            .html('Adding email address...')
            .load('ajaxServer.php', { address: $('#address').val() }, function() {
                $('#address').val('');
            });
        return false;
    });
});
$(function() {
  $('#addressForm').submit(function(e) {
    $('#response').html('Adding email address...');
    $.ajax({
        url: 'ajaxServer.php',
        type: 'GET',
        data: {'address': $('#address').val() },
        success: function(response) {
          $('#response').html(response);
        }
    });
    e.preventDefault();
    return false;
  });​
});
注意:使用.load时,如果数据作为对象提供,则使用POST方法;否则,假定为GET。因此,如果要以GET的形式传递数据,请使用:

.load('ajaxServer.php', 'address='+$('#address').val());
或者直接从$_POST['address']获取提交的数据,在我看来这会更明智、更容易。

类似这样的内容:

$(function() {
    $('#addressForm').submit(function() {
        $('#response')
            .html('Adding email address...')
            .load('ajaxServer.php', { address: $('#address').val() }, function() {
                $('#address').val('');
            });
        return false;
    });
});
$(function() {
  $('#addressForm').submit(function(e) {
    $('#response').html('Adding email address...');
    $.ajax({
        url: 'ajaxServer.php',
        type: 'GET',
        data: {'address': $('#address').val() },
        success: function(response) {
          $('#response').html(response);
        }
    });
    e.preventDefault();
    return false;
  });​
});
注意:使用.load时,如果数据作为对象提供,则使用POST方法;否则,假定为GET。因此,如果要以GET的形式传递数据,请使用:

.load('ajaxServer.php', 'address='+$('#address').val());
或者直接从$_POST['address']获取提交的数据,在我看来,这将更明智、更容易。

让我们来看看

function init()
{
    $('#addressForm').submit(storeAddress);
}

function storeAddress(e)
{
    $('#response').html('Adding address...');

    var params = 'address=' + $('#address').val();

    $('#response').load('ajaxServer.php', params);

    $.ajax({
        url : 'index.php',
        data : $('#addressForm').serialize(),
        success : function(data)
        {
            alert('yay, form data sent!');
        }
    });

    // Fix - stops page reload
    return false;
}

$(document).ready(init);
试试看

function init()
{
    $('#addressForm').submit(storeAddress);
}

function storeAddress(e)
{
    $('#response').html('Adding address...');

    var params = 'address=' + $('#address').val();

    $('#response').load('ajaxServer.php', params);

    $.ajax({
        url : 'index.php',
        data : $('#addressForm').serialize(),
        success : function(data)
        {
            alert('yay, form data sent!');
        }
    });

    // Fix - stops page reload
    return false;
}

$(document).ready(init);

可以按如下方式转换脚本:

$(function() {
    $('#addressForm').submit(function() {
        $('#response')
            .html('Adding email address...')
            .load('ajaxServer.php', { address: $('#address').val() }, function() {
                $('#address').val('');
            });
        return false;
    });
});
$(function() {
  $('#addressForm').submit(function(e) {
    $('#response').html('Adding email address...');
    $.ajax({
        url: 'ajaxServer.php',
        type: 'GET',
        data: {'address': $('#address').val() },
        success: function(response) {
          $('#response').html(response);
        }
    });
    e.preventDefault();
    return false;
  });​
});
下面是一个等价物的概述:

对于innerHTML调用 用于通过ID查找 对于ajax调用 数据是传递的参数,设置配对地址=。。。 成功回调在请求完成时运行 将响应放在这里的id=response div中
可以按如下方式转换脚本:

$(function() {
    $('#addressForm').submit(function() {
        $('#response')
            .html('Adding email address...')
            .load('ajaxServer.php', { address: $('#address').val() }, function() {
                $('#address').val('');
            });
        return false;
    });
});
$(function() {
  $('#addressForm').submit(function(e) {
    $('#response').html('Adding email address...');
    $.ajax({
        url: 'ajaxServer.php',
        type: 'GET',
        data: {'address': $('#address').val() },
        success: function(response) {
          $('#response').html(response);
        }
    });
    e.preventDefault();
    return false;
  });​
});
下面是一个等价物的概述:

对于innerHTML调用 用于通过ID查找 对于ajax调用 数据是传递的参数,设置配对地址=。。。 成功回调在请求完成时运行 将响应放在这里的id=response div中

我尝试过页面不会重新加载,虽然数据已提交,但页面也正在重新加载。现在,它会以轴方式发送表单数据,并通过返回false阻止表单提交。哦,是的,它工作得很好。我将如何删除弹出的警报窗口。我不需要,这也是提交数据两次,电子邮件出现在一对提交。thanksTatu:第一个请求获取状态,第二个请求提交表单数据表单操作是index.php。我正在尝试页面不会重新加载,虽然数据已提交,但页面也正在重新加载。现在尝试一下,它以半轴方式发送表单数据,并通过返回false来阻止表单提交。哦,是的,它工作得很好。我将如何删除弹出的警报窗口。我不需要,这也是提交数据两次,电子邮件出现在一对提交。thanksTatu:第一个请求获取状态,第二个请求提交表单数据表单操作是index.php。虽然数据已提交,但页面正在重新加载aswell@steve-更新,这将防止现在发生默认提交。您最好观察表单上的提交事件,而不是提交按钮上的单击事件。看起来原型代码也是这么做的。@Nick Craver感谢您花时间研究这个问题,实际上我正在尝试提交表单而不进行页面刷新…更新后的版本仍然没有这样做。。有我失踪的地方吗?有件事你需要从我这边知道吗?让我来know@petersendidit你能告诉我要做什么吗…我的代码乱七八糟:我需要这一个尽快工作,,,谢谢,虽然数据已经提交,但页面正在重新加载aswell@steve-更新,这将防止现在发生默认提交。您最好观察表单上的提交事件,而不是提交按钮上的单击事件。看起来原型代码也是这么做的。@Nick Craver感谢您花时间研究这个问题,实际上我正在尝试提交表单而不进行页面刷新…更新后的版本仍然没有这样做。。有我失踪的地方吗?有件事你需要从我这边知道吗?让我来know@petersendidit你能告诉我要做什么吗…我的代码乱七八糟:我需要这一个很快工作,,,,谢谢这不是提交数据你能再帮我一个忙吗,我如何在提交请求后清除电子邮件字段。thanks@steve-更改。加载。。。行:。加载'ajaxServer.php',{address:$'address.val},函数{$'address.val;}@史蒂夫,正如尼克·克雷弗所说。为了清晰起见,我在示例中添加了它。谢谢,最后一个问题是…当我将我的ajaxServer.php移动到子目录/电子邮件并更改路径时。load'ajaxServer.php。。。。。到.load'email/ajaxServer.php…我得到错误。。。我需要更多更改吗?您好,这不是提交数据。您可以再做一次帮助吗?提交请求后,我如何清除电子邮件字段。thanks@steve-更改。加载。。。行:。加载'ajaxServer.php',{address:$'address.val},函数{$'address.val;}@史蒂夫,正如尼克·克雷弗所说。为了清晰起见,我在示例中添加了它。谢谢,最后一个问题是…当我将我的ajaxServer.php移动到子目录/电子邮件并更改路径时。load'ajaxServer.php。。。。。到.load'email/ajaxServer.php…我得到错误。。。我需要换更多的衣服吗?