【问题标题】:Storing data from a select tag to a string using Javascript使用Javascript将数据从选择标签存储到字符串
【发布时间】:2015-08-29 00:24:27
【问题描述】:

我正在尝试从由 select 语句控制的表单中提取信息并将其存储在字符串中。计划是通过电子邮件发送从用户那里收集的信息,我使用 PHP 来完成。我有一个想法(一个由列表中有多少行控制的while循环),但我无法收集到信息。

这是循环:

    var empMessage = function(){
        messageString = "";
        var noEmp = $("#drpEmp option").length;
        var i = 0;
        $("#drpEmp").selector.index = i;    
            while (i < noEmp){
                $("#drpEmp").index = i;
                messageString = messageString + 
                "Name:              " + firstName.val + " " + MI.val + " " + lastName.val +  "<br/>" +
                "Business:          " + BusinessName.val + "<br/>" +   
                "Address:           " + address.val + "<br/>" +
                "                   " + city.val + ", " + state.val + " " + zip.val + "<br/>";
            }
            messageString = "<strong>Employee Information</strong><br/>" . messageString;
            i++; 
        }
        $("#stringHolder").val(messageString);
    }

这是 JS 小提琴: https://jsfiddle.net/xptxz7by/3/

我知道我可能真的走神了。我知道我有循环工作并且列表正在被计算,但我似乎无法检索信息。我还认为我正在接近发送错误的信息,并且可能有更好的方法来做到这一点,我只是还没弄清楚如何。

【问题讨论】:

  • 什么是$("#drpEmp").selector.index?我不明白你在用 while 循环做什么。
  • 你所有的.val 应该是.val()
  • 你为什么首先在 JS 中这样做?只需将表单提交给 PHP 并让它格式化电子邮件。
  • @CaptObvious42 有没有想过让自己头疼,只需将 json 发送到您的 php 脚本?这样,您的 php 脚本是处理电子邮件内容逻辑的唯一部分。并且发送的是您的表单数据。

标签: javascript jquery arrays drop-down-menu while-loop


【解决方案1】:

您想要的数据在您保存在每个选项的.data() 中的Employee 对象中,因此您需要获取该数据并使用属性。

messageString = "<strong>Employee Information</strong><br/>";
$("drpEmp option:selected").each(function() {
    var employee = $(this).data("employee");
    messageString +=
        "Name:              " + employee.firstName + " " + employee.MI + " " + lastName +  "<br/>" +
        "Business:          " + employee.BusinessName + "<br/>" +   
        "Address:           " + employee.address + "<br/>" +
        "                   " + employee.city + ", " + employee.state + " " + employee.zip + "<br/>";
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 2019-11-23
    • 2015-03-22
    • 2019-07-02
    • 1970-01-01
    相关资源
    最近更新 更多