如何将表单显示从=更改为:

How to change form display from = to :?

本文关键字:表单 显示      更新时间:2023-09-26

我是否可以更改的输出

Name:=daniel to Name:daniel为以下所有内容?

此URL中的图片>https://i.stack.imgur.com/lTy4Y.jpg

 <h2>Your details have been submitted!</h2>
 <h2>You have entered the following data: </h2>
 <script type="text/javascript">
    var formData = location.search;
    formData = formData.substring(1, formData.length);
    while (formData.indexOf("+") != -1) {
        formData = formData.replace("+", " ");
    }
    formData = unescape(formData);
    var formArray = formData.split("&");
    document.write("<p>");
    for (var i = 0; i < formArray.length; ++i) {
        document.writeln(formArray[i] + "<br />");
    }
    document.write("</p>");
</script>

当然,但这不会让你走得很远。更改此行:

document.writeln(formArray[i] + "<br />");

document.writeln(formArray[i].replace("=", ": ") + "<br />");

但如果我是你,我会把数据解析成一个实际可用的对象,以便进一步操作,目前你只需要对页面URL进行字符串操作。

编辑:要扩展您在此帖子评论中发布的问题:

首先,您应该尝试远离通过URL或GET请求移动数据,因为这些请求非常明显,在编码方面有限制,容易被操纵和记录。尤其是像信用卡信息这样的数据不应该嵌入URL中。

无论如何,关于解析,让我们从进一步拆分formArray并将键值对存储在对象中开始:

var formArray = formData.split("&");
var formDataObj = {};  //in this we will store the data
//let's assume here that you have no key duplicates in your data
//and that it is always properly formatted
formArray.forEach(function (item) {
    var key = item.split("=")[0];
    var value = item.split("=")[1];
    formDataObj[key] = value;
});
//if you processed your data like this you can then access it more precisely like so
document.writeln("<p>Customer " + formDataObj.customerNumber + " has card number " + formDataObj.cardNumber + "</p>");

我认为这是显而易见的优势。

您可以使用辅助函数

function capitalize(a)
{
return a[0].toUpperCase() + a.slice(1);
}