Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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 如何从文本框中获取姓名和电子邮件ID?_Javascript - Fatal编程技术网

Javascript 如何从文本框中获取姓名和电子邮件ID?

Javascript 如何从文本框中获取姓名和电子邮件ID?,javascript,Javascript,我使用以下功能在文本框中添加了用户名和电子邮件Id function (result) { var rv = []; $.each(result, function (i, v) { rv.push(v.Name +" (" + v.Email + " )" ); });</pre> 函数(结果){ var rv=[]; $。每个(结果、函数(i、v){ 房车推送(v.Name+”(“+v.Email+”); }); 它显示在文本框中,如: ABC(ABC@XYZ) 现在我想

我使用以下功能在文本框中添加了用户名和电子邮件Id

function (result) {
var rv = [];
$.each(result, function (i, v) {

rv.push(v.Name +" ("  + v.Email + " )" );
});</pre>
函数(结果){
var rv=[];
$。每个(结果、函数(i、v){
房车推送(v.Name+”(“+v.Email+”);
});
它显示在文本框中,如: ABC(ABC@XYZ)

现在我想以不同的方式访问此名称和电子邮件Id

我怎么做


提前感谢。

要从文本框值获取姓名和电子邮件:

var textbox = document.querySelector('input[type="text"]');
var value = textbox.value;
var a = value.indexOf('(');
var b = value.indexOf(')');
var name = value.substring(0, a);
var email = value.substring(a + 1, b);

创建一个HTML元素,该元素具有要存储多个值的任何自定义属性

例:


然后,在通过名称、ID、css等获取html后,您可以通过属性名在jQuery中查询这些值

有关如何获取元素属性值的示例:

这可能会对您有所帮助


姓名和电子邮件
名称
电子邮件 $('txtName').val($('txtName').attr(“用户名”); $('txtmail').val($('txtmnamemail').attr(“userEmail”);
我不知道你在问什么,但也许这可以满足你的要求

findByName(rv, targetName) {
    rv.find(function(element, index, array) {
        name = element.substring(0, element.indexOf("("))
        return name === targetName
    })
}

findByName(rv, "ABC")
在大多数浏览器中,find函数实际上还不可用,但您可以对其进行多边形填充,以获得相同的功能(请参阅)


您可以用电子邮件地址编写一个非常类似的函数。

您说您想“以不同的方式”完成它但不要说怎么做。你想做什么?你用不同的方式访问它是什么意思?意思是说首先我想访问name=ABC,然后是电子邮件=ABC@XYZHow是否要访问名称和电子邮件地址?从文本框本身返回?您是否有文本框的id或特定实例?是否尝试存储名称和电子邮件地址?Do您有名字并想访问电子邮件地址?您是否只是复制了我的解决方案?您是否发明了HTML?
<div >
   Name & Email <input type="text" id="txtNameEmail" value="ABC(ABC@XYZ)" userName="ABC" userEmail="ABC@XYZ"/><br />
   Name<input type="text" id="txtName" /><br />
   Email<input type="text" id="txtEmail" />
</div>

$('#txtName').val($('#txtNameEmail').attr("userName"));
$('#txtEmail').val($('#txtNameEmail').attr("userEmail"));
findByName(rv, targetName) {
    rv.find(function(element, index, array) {
        name = element.substring(0, element.indexOf("("))
        return name === targetName
    })
}

findByName(rv, "ABC")