Javascript 如何使用jquery将表单输入字段值传递到外部页面

Javascript 如何使用jquery将表单输入字段值传递到外部页面,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我有一个表单,希望在没有表单提交事件的情况下将文本输入字段的值传递到外部页面。我希望字段值成为外部页面上的php变量 以下是我到目前为止的情况: 首先 jQuery(document).ready(function() { 及 它们是等价的。$(function()应该类似于 $("input[type='button']").click(function() { 因此,当您单击按钮时,它将运行ajax请求。我觉得发布一个更改的答案是不对的……但是 编辑:实际上有几件事 <!--

我有一个表单,希望在没有表单提交事件的情况下将文本输入字段的值传递到外部页面。我希望字段值成为外部页面上的php变量

以下是我到目前为止的情况:

首先

jQuery(document).ready(function() {

它们是等价的。$(function()应该类似于

$("input[type='button']").click(function() {

因此,当您单击按钮时,它将运行ajax请求。

我觉得发布一个更改的答案是不对的……但是
编辑:实际上有几件事

<!-- For .click() -->
<a href="#" id="doStuff">Click Me!</a>

<script type="text/javascript">
    // $(function() { // Trigger on page load
    // $('#doStuff').click(function() { // Trigger on a click
    $('#city').blur(function() { // Trigger when the focus on the field is lost (click away, tab to another field, ect)
    // $('#city').change(function() { // Trigger when the fields value changes
        var cityField = $('#city');
        $.ajax({
            type: "POST",
            url: "external.php",
            data:{ 'city': cityField.val() }, 
            success: function(data){
                console.log(data); 
            }
        });
    });
</script>
您的数据将在
autosuggest.php
中作为
$\u POST['cityField'];

在我看来,在success函数中进行
状态检查有点多余。

最好将
success:function(data,…
移动到
complete:function(data,…
我清理了代码,但数据没有发送到external.php。它正在设置,但没有发布。这是我修改过的代码

  <script type="text/javascript">

       $('#city').blur(function() {

        var cityField = document.querySelector('#city').value;
        $.ajax({
        type: "post",
        url: "external.php",
        data: {'cityField': cityField }, 
        dataType: "text",
        success: function(data, status){
             if(status=="success") {
         alert("You typed: " + cityField);
             }
        }
        });
    });

$('#city').blur(函数(){
var cityField=document.querySelector(“#city”).value;
$.ajax({
类型:“post”,
url:“external.php”,
数据:{'cityField':cityField},
数据类型:“文本”,
成功:功能(数据、状态){
如果(状态=“成功”){
警报(“您键入:“+cityField”);
}
}
});
});

是否要在页面加载时运行此函数?感谢您帮助我清理代码。如何在没有单击函数的情况下将city值传递给external.php?请参阅编辑^。基本上,创建一个具有特定ID的元素,然后更改
$(function(){})
以侦听单击事件:
$('#yourId')。单击(function(){})
。这个链接可以是任何东西。这是最简单的一个链接。你到底想在什么时候发送值?如果不是点击按钮,会触发什么?等等…@MatRichardson是对的。除了点击之外,你还想做些什么呢?我刚醒过来。听起来像是你要求它变成点击。是否可以发送当访问者离开该字段继续进入下一个表单字段时,city输入字段到external.php的值是多少?
$("input[type='button']").click(function() {
<!-- For .click() -->
<a href="#" id="doStuff">Click Me!</a>

<script type="text/javascript">
    // $(function() { // Trigger on page load
    // $('#doStuff').click(function() { // Trigger on a click
    $('#city').blur(function() { // Trigger when the focus on the field is lost (click away, tab to another field, ect)
    // $('#city').change(function() { // Trigger when the fields value changes
        var cityField = $('#city');
        $.ajax({
            type: "POST",
            url: "external.php",
            data:{ 'city': cityField.val() }, 
            success: function(data){
                console.log(data); 
            }
        });
    });
</script>
<script type="text/javascript">
    $('#city').blur(function() {
        var cityField=$('#city').val();
        $.ajax({
            type:"post",
            url:"autosuggest.php",
            data:{'cityField':cityField },
            dataType:"text",
            complete:function(data, status) {
                alert("You typed: "+cityField);
            }
        });
    });
</script>
  <script type="text/javascript">

       $('#city').blur(function() {

        var cityField = document.querySelector('#city').value;
        $.ajax({
        type: "post",
        url: "external.php",
        data: {'cityField': cityField }, 
        dataType: "text",
        success: function(data, status){
             if(status=="success") {
         alert("You typed: " + cityField);
             }
        }
        });
    });