生成表单永久链接

时间:2011-04-04 16:14:27

标签: javascript html

如何为表单here创建永久链接,以便表单的所有值都可以保存在网址中?

3 个答案:

答案 0 :(得分:2)

你所要求的并不是真正的“固定链接”,因为它只是一种为某人提供自动填写表单值的链接的方法。 “永久链接”链接到现有记录,而您要求创建新记录(基于您的评论)。

如果你想要URL中的所有值,那么你可以做的是这样的URL:

  ?

〜/ itemdb.html FIELD1 =值1&安培; FIELD2 =值2&安培;字段3 =值3 ...

等等。 (当然,用实际有意义的字段名替换字段。)

该网页的扩展名为.html。这里是否有任何服务器端逻辑,或者它只是一个静态页面?如果有任何服务器端处理,那么您可以在服务器端代码中捕获这些值(GET值,因为链接只创建一个GET请求)并预先填充字段。

如果你没有任何服务器端逻辑驱动它,你仍然可以使用JavaScript。 get URL parameters in JavaScript有许多方法。你决定做什么取决于你。获得值后,您只需相应地设置相应表单元素的值即可。例如(假设jQuery):

var fieldValue = GetFieldValueSomehow('fieldName');
$('#elementName').val(fieldValue);

当然,你会想做一些基本的输入检查。

答案 1 :(得分:1)

如果您需要纯JavaScript解决方案,那么使用 #hash 可能是最简单的方法:

http://ambo100.com/salmoneus/database/itemdb.html#{"name":"John","price":10}

在这种情况下,您可以自由选择语法(并且不受查询字符串的限制)。这可以通过以下简单的JS代码来处理:

try {
    var data = JSON.parse(location.hash.substr(1, location.hash.length));
    $.each(data, function(key, value) { // assuming you're using jQuery
        $(':input[name=' + key + ']').val(value);
    });
}
except {

} 

答案 2 :(得分:0)

首先,您需要将值保存到某种形式的数据库中。

然后,您需要有一个页面,用于从数据库中提取数据,查询URL中传递的内容。这可能是任何东西,但简单的解决方案是在数据库中使用自动递增主键列。

要传递与此列匹配的唯一值,请在查询字符串中添加代码,或者更好地使用路由。

关于如何创建链接还有很多选项。考虑URL缩短器生成的代码。此外,通过路由,一些网站会根据表单中输入的内容生成一个带有名称的友好链接,然后将数据库ID固定在末尾,这是指向正确数据的实际位。

另一种解决方案是在服务器上使用表单中的数据实际创建一个平面HTML页面,并向用户返回创建该页面的链接。