将输入字段存储到ahref上的cookie

时间:2018-03-23 11:22:54

标签: javascript php

我需要存储格式中的内容>当用户点击ahref url

时,通过$ _cookie或$ _session输入

<form>
  <input id="sccomment" type="text" placeholder="Leave a comment on Soundcloud" />
</form>
		                               	
<a id="link" href="<?php echo $soundcloud_auth_url; ?>" class="btn-sc fw">Connect with Soundcloud</a>

2 个答案:

答案 0 :(得分:0)

function submitData(url){
var sccomment = document.getElementById("sccomment").value;
document.cookie = "sccomment="+sccomment;
window.location.href=url;
}
<form>
  <input id="sccomment" type="text" placeholder="Leave a comment on Soundcloud" />
</form>
		                               	
<a id="link" onClick="submitData('<?php echo $soundcloud_auth_url; ?>');" class="btn-sc fw">Connect with Soundcloud</a>

答案 1 :(得分:0)

如果用户使用任何方式离开页面,您实际上希望保留未提交的评论,这样他们就不会丢失所有内容。

要以可重复使用的方式解决此问题,您可以使用:(working demo

var persistInputs = document.querySelectorAll('[data-persist=true]');

for(var i = 0; i < persistInputs.length; i++) {
  var input = persistInputs[i];

  input.persistName = 'persist-' + input.name;
  input.value = localStorage[input.persistName] || input.value;

  input.onchange = function(){localStorage[this.persistName] = this.value;};
}

var forms = document.querySelectorAll('form');

for(var i = 0; i < forms.length; i++) {
  forms[i].onsubmit = function(){
    for(var i = 0; i < persistInputs.length; i++) {
      var input = persistInputs[i];

      if(this == input.form) {
        localStorage.removeItem(input.persistName);
      }
    }
  }
}

要提交之前要保留的任何文字输入都会添加属性data-persist="true"

<form method="post">
  <label>Persisted comment: <input name="persisted-comment" data-persist="true"></label>
  <label>Ordinary comment: <input name="ordinary-comment"></label>
  <button>Send comment</button>
</form>

我选择使用localStorage来保持持久性,因为服务器无法访问未提交的数据,未经用户明确同意将数据提交到服务器是一种隐私问题,我不想去那里,真的......有点邪恶。