如何将JavaScript ID值传递给表单占位符?

问题描述:

我已经使用了一个函数来捕获“名称”的查询字符串值 - 即想象一个派对邀请网站;如何将JavaScript ID值传递给表单占位符?

https://cometomyparty.com?name=phil

使用的功能是;

script type="text/javascript"> 
    function getQuerystring(){ 
    var q=document.location.toString(); 
    q=q.split("?"); 
    q=q[1].split("&"); 
    var str="" 
    for(i=0;i<q.length;i++){ 
     tmp=q[i].split("=") 
     str+=" "+tmp[1]+"<br />" 
             } 
    document.getElementById("name").innerHTML=str 
        } 
    onload=function(){ 
     getQuerystring() 
       } 
</script> 

然后我就可以使用ID =“名称”,我想在标题中使用此我的网页,即在调用“名”的价值,我可以说,菲尔,期待着有你在派对上...

这很好。我遇到的问题是,我有一个我正在使用的表单,其中有一个占位符字段,就像这样;

<div class="form-section"> 
    <input type="text" name="name" class="validate-required" placeholder="Names"> 

如何在我的占位符中插入'id'值'name'到我的占位符中?最终的结果是,邀请机制将跨越多个受邀者在相同的URL上工作,但URL只会改变。 RSVP表单将反映URL中的内容作为占位符,但用户仍然可以更新它,如果它不正确。

任何意见赞赏。

+0

我不知道如果我理解你的问题。所以你想改变从函数中得到的任何值的'placeholder'的值?如果是这样,你可以使用'document.getElementById(“foo”)。placeholder =“foo”'为那个? – Mohammed

+0

看到我的答案并标记为正确,它解决了您的问题。 –

+1

感谢Otávio,你的建议解决了我的挑战! –

此找到占位符,并且使用jquery

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script> 
    $(document).ready(function(){ 
     $('#name').attr("placeholder", "your place holder here"); 
    }); 
</script> 

如果它是一个是$ var也不需要引号会像

$('#name').attr("placeholder", $str); 

或者使用javascript改变

<script type="text/javascript"> 
    function getQuerystring(){ 
     var q=document.location.toString(); 
     q=q.split("?"); 
     q=q[1].split("&"); 
     var str="" 
     for(i=0;i<q.length;i++){ 
      tmp=q[i].split("="); 
      str+=" "+tmp[1]+"<br />"; 
     } 
     document.getElementById("name").innerHTML=str; 
     document.getElementById("name").placeholder=str; 
    } 
    onload=function(){ 
     getQuerystring(); 
    }; 
</script> 

document.getElementById("name").placeholder="value here"如果它是一个变种,所以不需要报价

而且你需要插入一个ID到您的HTML输入字段

<div class="form-section"> 
    <input type="text" id="name" name="name" class="validate-required" placeholder="Names"> 
+2

对于这一个用法,jQuery是矫枉过正的,他并没有说他正在使用它。尽管如此,仍是一个正确的答案 –

+1

你是对的,但jQuery是做更少的代码做同样的事情。无论如何,这就是为什么我也做了一个JavaScript版本。 –

+1

公平点确实。而jQuery是非常可靠和有用的,我只是希望它更好地与内置数组进行关联,而不是。 –