Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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/Jquery函数与html表单连接?_Javascript_Jquery_Html - Fatal编程技术网

如何将Javascript/Jquery函数与html表单连接?

如何将Javascript/Jquery函数与html表单连接?,javascript,jquery,html,Javascript,Jquery,Html,我想创建一个表单,从输入文本中提取电子邮件地址, 我知道有很多脚本很容易做到这一点,但我想自己创建一个。 所以我阅读,搜索,尝试,但我看不到结果。这是我的代码,有什么问题吗 <html> <head> <script type="text/javascript"> function extractEmails ( text ){ return text.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]

我想创建一个表单,从输入文本中提取电子邮件地址, 我知道有很多脚本很容易做到这一点,但我想自己创建一个。
所以我阅读,搜索,尝试,但我看不到结果。这是我的代码,有什么问题吗

<html>
  <head>
    <script type="text/javascript">

    function extractEmails ( text ){
    return text.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
    }

    // EXAMPLE #1
    var emails = extractEmails ( HugeListWithBulkTextIncludingEmailAddresses );
    document.write ( emails.join('\n') );


    // EXAMPLE #2 (jQuery)
    $(function(){
    $('#eform').submit(function(){
    $('#extractedemails').val( extractEmails($('#input').val() ).join('\n'));
    return false;
    });
    });

    </script>
  </head>

<body>
    <form name="myform" id="eform" action="javascript:extractEmails()">
        <input type="text" name="firstname">
        <input name="Submit"  type="submit" value="Update"/>
    </form>
    <textarea id="extractedemails">
    </textarea>
</body>
</html>

功能提取电子邮件(文本){
返回文本.match(/([a-zA-Z0-9.\u-]+@[a-zA-Z0-9.\u-]+\.[a-zA-Z0-9.\u-]+)/gi);
}
//示例#1
var电子邮件=提取电子邮件(Hugelistwithbulktext,包括电子邮件地址);
document.write(emails.join('\n'));
//示例2(jQuery)
$(函数(){
$('#eform')。提交(函数(){
$('#extractedemails').val(extractedemails($('#input').val()).join('\n'));
返回false;
});
});

我建议您使用以下方法:

onsubmit="return extractEmails()"
因为我注意到你的提交按钮没有调用你的函数

而不是:

action="javascript:extractEmails()"
尝试此表单,您的输入字段也应该有一个
id

<form name="myform" id="eform" onsubmit="return extractEmails()">
   <input type="text" name="firstname" id = "input">
   <input name="Submit"  type="submit" value="Update"/>
</form>

下面是我创建的一个小程序,我不太确定您希望在函数中实现什么,但希望这能对您有所帮助。:)


函数{
var input=document.getElementById('input')。值;
输入.匹配(/([a-zA-Z0-9.\u-]+@[a-zA-Z0-9.\u-]+\.[a-zA-Z0-9.\u-]+)/gi);
var textarea=document.getElementById('extractedemails');
textarea.value=输入;
}

它基于您的
html
happy coding:D

代码中没有
id
input
的元素。另外,在
action
属性中使用javascript也不受广泛支持,请将代码附加到
submit
事件。
    <html>

<head>
    <script type="text/javascript">

        function extractEmails(){

            var input = document.getElementById('input').value;
            input.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);

            var textarea = document.getElementById('extractedemails');
            textarea.value = input;

        }

    </script>
  </head>

<body>
    <form name="myform" id="eform" onsubmit = "return extractEmails()">
        <input type="text" name="firstname" id = "input">
        <input name="Submit"  type="submit" value="Update"/>
    </form>
    <textarea id="extractedemails">
    </textarea>
</body>
</html>