Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
Javascript 如何将输入值传递给其他函数_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何将输入值传递给其他函数

Javascript 如何将输入值传递给其他函数,javascript,jquery,html,Javascript,Jquery,Html,我有表单,带有输入和提交按钮。我想在用户填写电子邮件地址并单击提交按钮时打开弹出窗口。在弹出窗口中,将显示其他按钮,单击该按钮后,应使用输入值从提交按钮执行操作。到目前为止,我有这样的想法: $('form').on('submit', function (e) { e.preventDefault(); //function opening popup goes here... // confirm button in popup $('#confirm_

我有表单,带有输入提交按钮。我想在用户填写电子邮件地址并单击提交按钮时打开弹出窗口。在弹出窗口中,将显示其他按钮,单击该按钮后,应使用输入值从提交按钮执行操作。到目前为止,我有这样的想法:

$('form').on('submit', function (e) {
    e.preventDefault(); 
    //function opening popup goes here... 

    // confirm button in popup
    $('#confirm_button').on('click', (e) => {
        e.preventDefault();
        $(this).unbind('submit').submit();
    });
});
问题是,我不知道如何将输入值传递到弹出窗口中的确认函数


谢谢你的帮助

您可以将信息存储在变量或变量中,例如:

var name;
$('form').on('submit', function (e) {
    e.preventDefault();

    // Get name from input and store it in the name variable.
    name = $('#name').val();
    //function opening popup goes here... 

    // confirm button in popup
    $('#confirm_button').on('click', (e) => {
        e.preventDefault();
        $(this).unbind('submit').submit();
    });
});

然后,您可以在JS中的任何其他地方使用name来从表单中获取单个值,例如html中id属性设置为username的输入元素:

var userName = $('#username').val();
$("#myform").serialize()
或者获取其id属性设置为myform的表单的所有元素:

var userName = $('#username').val();
$("#myform").serialize()
要将输入值传递给其他函数,必须首先创建一个函数:

function doSomething(first) {
    if (first) {
        console.log(first);
        alert(first);
    }
}

$('form').on('submit', function (e) {
    e.preventDefault();
    //function opening popup goes here...
});

// confirm button in popup
$('#confirm_button').on('click', (e) => {
    e.preventDefault();
    var userName = $('#username').val();
    $(this).unbind('submit').submit();
    doSomething(userName);
});

请注意,这里的重要部分是使用#id访问页面中的值,这是您使用popup或不使用popup访问它的方式。

在您的popup函数中,您可以控制台记录以下内容:
$(this)。查找(“#您的#输入”).val()
,查看您是否获得了输入的值。您的html是什么?我看不出为什么你需要用表单提交来包装你的点击按钮,因为你已经在这两个地方都设置了默认值。只需使用这个来获取输入值
var val=$(“#input”).val()
我想在用户点击弹出窗口中的按钮时发送表单,他之前填写了值。谢谢,收到了。但是,如何让用户在弹出窗口中单击按钮,然后单击第一个提交按钮,然后使用用户以前填写的值发送表单?@JohnVanh您可以在弹出表单中创建一些隐藏字段,并将来自其他表单的数据存储在其中。这样,弹出式窗体还具有其他值