2013-10-30 42 views
0

我想創建一個表格,從輸入文本中提取電子郵件地址, 我知道有很多腳本很容易做到,但我想自己創建一個。
所以我閱讀,搜索和嘗試,但我看不到結果。這是我的代碼,有什麼問題?
如何使用html表單連接Javascript/Jquery函數?

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

    function extractEmails (text){ 
    return text.match(/([a-zA-Z0-9._-][email protected][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> 
+1

有一個在你的代碼沒有元素與input'的'了'id'。另外,在'action'屬性中使用javascript並不被廣泛支持,而是將代碼附加到'submit'事件。 –

回答

1

我建議你應該這樣做:

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> 
下面

是一個小程序,我創建,我不是很確定你想在你的功能中實現什麼,但希望這可能會幫助你一點。 :)

<html> 

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

     function extractEmails(){ 

      var input = document.getElementById('input').value; 
      input.match(/([a-zA-Z0-9._-][email protected][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> 

它是根據你html快樂編碼:d