如何保存第一个用户的选择,然后生成唯一的 code/link,并最终为后续用户显示第一个用户的选择?
How do I save the first users selections, then generate a unique code/link, and finally display the first users selections for a subsequent user?
我想创建一个带有选择的网页,然后当用户输入他们的选择时,我想要一个代码输出(或者更好的是一个独特的 url),可以将其复制粘贴到论坛,通过电子邮件发送等...允许他们的朋友单击 link 并检索与该 link 关联的输入选择。
一个代码就可以了,其中一个 link + 一个 copy/pasted 的代码进入文本框然后生成共享条目。
例如我有几个下拉框:
A drop down with 50 states, a drop down with gender, a drop down with
ages 1-100, a drop down with number of kids.
An end-user comes and selects whatever choices they want and the page
produces the link or code allowing future end-users to either click
the link (preferable) or paste the code into a text box which then
selects all the appropriate selections wishing to be shared. This
allows the second user to view exactly what the first user wanted to
share with a simple short link/code.
我被卡住了,我知道我不必为每种可能性创建一个独特的网页,但我不确定如何处理。
如何保存第一个用户的选择,然后生成唯一的 code/link,并最终为后续用户显示第一个用户的选择?
您可能需要的是 url 个参数..
这是一个使用正则表达式从 url
中获取参数的函数
function gup( name ){
name = name.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");
var regexS = "[\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null ) return "";
else return results[1];
}
我不会担心那里发生了什么..但是要使用它你会有一个 url (mysite.com/coolPage) 如果他们带着参数 (mysite. com/coolPage?whosCool=ImCool)
您可以在 javascript 中调用 gup("whosCool"),它会 return "ImCool"
在你的例子中,你会 mySite.com?state=oklahoma&gender=male
在您的 javascript 中,您可以在加载时:
document.getElementById('state').value = gup('state');
document.getElementById('gender').value = gup('gender');
构建 url,当他们做出所有选择时,您将使用参数构建 url。
var url = "mycoolSite.com/mypage?";
url += "state=" + document.getElementById('state').value;
url += "gender=" + document.getElementById('gender').value;
document.getElementById('outputURL').innerHTML = "<a href='"+url+"'>Your url</a>";
这就是零件,不过您必须将它们全部拼凑起来
我可以想到两种方法:
唯一数据库 ID,它存储该用户的所有信息,并在他们生成 link 时生成。
更长的 url,所有选项都作为参数存储在末尾。
数据库解决方案
当用户点击生成 link 时,我将从该页面收集到所有信息,并将其推送到表单中进行处理。然后,我会将所有信息存储在具有唯一 ID 的数据库中,并将该 ID 传递回用户,将其作为参数存储在生成的 link 中的 url 中。
当用户单击 link 时,您可以在页面加载时做的第一件事是查询 id 参数并显示先前存储的所有数据库字段。
根据您是否有任何 PHP 知识,您可能会发现这些 link 有用:
https://gist.github.com/webaware/4048580
URL参数解
我会再次从页面收集所有信息并以表格形式推送,然后再构建一个列出参数的 link。所以 www.tester.com?gender=female 等等
当用户单击 link 时,您可以在页面加载时做的第一件事是从 link 中提取参数并根据适当的输入显示它们。
这可能会让您了解使用 javascript 执行此操作的基础知识。
Pre-fill form field via URL in html
从表单中获取信息:How to save data from a form with HTML5 Local Storage?
这个对你特别有帮助:How can I pre-populate html form input fields from url parameters?
第二个选项肯定比较混乱,我自己可能会选择第一个选项。
希望他们都说得通 - 有任何问题就问吧!
我想创建一个带有选择的网页,然后当用户输入他们的选择时,我想要一个代码输出(或者更好的是一个独特的 url),可以将其复制粘贴到论坛,通过电子邮件发送等...允许他们的朋友单击 link 并检索与该 link 关联的输入选择。
一个代码就可以了,其中一个 link + 一个 copy/pasted 的代码进入文本框然后生成共享条目。
例如我有几个下拉框:
A drop down with 50 states, a drop down with gender, a drop down with ages 1-100, a drop down with number of kids.
An end-user comes and selects whatever choices they want and the page produces the link or code allowing future end-users to either click the link (preferable) or paste the code into a text box which then selects all the appropriate selections wishing to be shared. This allows the second user to view exactly what the first user wanted to share with a simple short link/code.
我被卡住了,我知道我不必为每种可能性创建一个独特的网页,但我不确定如何处理。
如何保存第一个用户的选择,然后生成唯一的 code/link,并最终为后续用户显示第一个用户的选择?
您可能需要的是 url 个参数..
这是一个使用正则表达式从 url
中获取参数的函数function gup( name ){
name = name.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");
var regexS = "[\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null ) return "";
else return results[1];
}
我不会担心那里发生了什么..但是要使用它你会有一个 url (mysite.com/coolPage) 如果他们带着参数 (mysite. com/coolPage?whosCool=ImCool)
您可以在 javascript 中调用 gup("whosCool"),它会 return "ImCool"
在你的例子中,你会 mySite.com?state=oklahoma&gender=male
在您的 javascript 中,您可以在加载时:
document.getElementById('state').value = gup('state');
document.getElementById('gender').value = gup('gender');
构建 url,当他们做出所有选择时,您将使用参数构建 url。
var url = "mycoolSite.com/mypage?";
url += "state=" + document.getElementById('state').value;
url += "gender=" + document.getElementById('gender').value;
document.getElementById('outputURL').innerHTML = "<a href='"+url+"'>Your url</a>";
这就是零件,不过您必须将它们全部拼凑起来
我可以想到两种方法:
唯一数据库 ID,它存储该用户的所有信息,并在他们生成 link 时生成。
更长的 url,所有选项都作为参数存储在末尾。
数据库解决方案
当用户点击生成 link 时,我将从该页面收集到所有信息,并将其推送到表单中进行处理。然后,我会将所有信息存储在具有唯一 ID 的数据库中,并将该 ID 传递回用户,将其作为参数存储在生成的 link 中的 url 中。
当用户单击 link 时,您可以在页面加载时做的第一件事是查询 id 参数并显示先前存储的所有数据库字段。
根据您是否有任何 PHP 知识,您可能会发现这些 link 有用:
https://gist.github.com/webaware/4048580
URL参数解
我会再次从页面收集所有信息并以表格形式推送,然后再构建一个列出参数的 link。所以 www.tester.com?gender=female 等等
当用户单击 link 时,您可以在页面加载时做的第一件事是从 link 中提取参数并根据适当的输入显示它们。
这可能会让您了解使用 javascript 执行此操作的基础知识。
Pre-fill form field via URL in html
从表单中获取信息:How to save data from a form with HTML5 Local Storage?
这个对你特别有帮助:How can I pre-populate html form input fields from url parameters?
第二个选项肯定比较混乱,我自己可能会选择第一个选项。
希望他们都说得通 - 有任何问题就问吧!