Javascript 添加隐藏表单输入
我整个下午都在玩弄这个,不知道出了什么问题。我是js新手,不知道哪里出了问题。我尝试了一些解决方案,但没有一个奏效。我在jfiddle中测试了js,它可以正常工作,但在其他任何地方都无法正常工作 任何帮助都将不胜感激Javascript 添加隐藏表单输入,javascript,html,forms,Javascript,Html,Forms,我整个下午都在玩弄这个,不知道出了什么问题。我是js新手,不知道哪里出了问题。我尝试了一些解决方案,但没有一个奏效。我在jfiddle中测试了js,它可以正常工作,但在其他任何地方都无法正常工作 任何帮助都将不胜感激 <script language="JavaScript"> <!-- /*********************************************** * Required field(s) validation v1.10- By N
<script language="JavaScript">
<!--
/***********************************************
* Required field(s) validation v1.10- By NavSurf
* Visit Nav Surf at http://navsurf.com
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
function formCheck(formobj){
// Enter name of mandatory fields
var fieldRequired = Array("name", "Address", "city", "state", "zip", "phone", "email", "tradeShow");
// Enter field description to appear in the dialog box
var fieldDescription = Array("name", "Address", "city", "state", "zip", "phone", "email", "tradeShow");
// dialog message
var alertMsg = "Please complete the following fields:\n";
var l_Msg = alertMsg.length;
for (var i = 0; i < fieldRequired.length; i++){
var obj = formobj.elements[fieldRequired[i]];
if (obj){
switch(obj.type){
case "select-one":
if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "select-multiple":
if (obj.selectedIndex == -1){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "text":
case "textarea":
if (obj.value == "" || obj.value == null){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
default:
}
if (obj.type == undefined){
var blnchecked = false;
for (var j = 0; j < obj.length; j++){
if (obj[j].checked){
blnchecked = true;
}
}
if (!blnchecked){
alertMsg += " - " + fieldDescription[i] + "\n";
}
}
}
}
if (alertMsg.length == l_Msg){
return true;
}else{
alert(alertMsg);
return false;
}
}
// -->
</script>
<form action="submit.asp" id="qrCodeForm" method="post" onsubmit="return formCheck(this);">
<!-- Display Name -->
<div class="row">
<div class="col-xs-12 col-md-4">Name:</div>
<div class="col-xs-12 col-md-6 col-md-offset-1"><input type="text" id="name" runat="server" /></div>
</div>
<!-- Display CompanyName -->
<div class="row">
<div class="col-xs-12 col-md-4">Company Name:</div>
<div class="col-xs-12 col-md-6 col-md-offset-1"><input type="text" id="companyName" runat="server" /></div>
</div>
<!-- Display Address -->
<div class="row">
<div class="col-xs-12 col-md-4">Your Address:</div>
<div class="col-xs-12 col-md-5 col-md-offset-1 si-qr-address">
<div class="col-xs-12"><input type="text" id="address" runat="server" class="col-xs-12" placeholder="Address" /></div>
<div class="col-xs-6"><input type="text" id="city" runat="server" class="col-xs-12" placeholder="City" /></div>
<div class="col-xs-3">
<select class="colors_text col-xs-12" name="state">
<option value=""></option>
<option value="AL">AL</option>
<option value="AK">AK</option>
<option value="AZ">AZ</option>
<option value="AR">AR</option>
<option value="CA">CA</option>
<option value="CO">CO</option>
<option value="CT">CT</option>
<option value="DE">DE</option>
<option value="DC">DC</option>
<option value="FL">FL</option>
<option value="GA">GA</option>
<option value="HI">HI</option>
<option value="ID">ID</option>
<option value="IL">IL</option>
<option value="IN">IN</option>
<option value="IA">IA</option>
<option value="KS">KS</option>
<option value="KY">KY</option>
<option value="LA">LA</option>
<option value="ME">ME</option>
<option value="MD">MD</option>
<option value="MA">MA</option>
<option value="MI">MI</option>
<option value="MN">MN</option>
<option value="MS">MS</option>
<option value="MO">MO</option>
<option value="MT">MT</option>
<option value="NE">NE</option>
<option value="NV">NV</option>
<option value="NH">NH</option>
<option value="NJ">NJ</option>
<option value="NM">NM</option>
<option value="NY">NY</option>
<option value="NC">NC</option>
<option value="ND">ND</option>
<option value="OH">OH</option>
<option value="OK">OK</option>
<option value="OR">OR</option>
<option value="PA">PA</option>
<option value="RI">RI</option>
<option value="SC">SC</option>
<option value="SD">SD</option>
<option value="TN">TN</option>
<option value="TX">TX</option>
<option value="UT">UT</option>
<option value="VT">VT</option>
<option value="VA">VA</option>
<option value="WA">WA</option>
<option value="WV">WV</option>
<option value="WI">WI</option>
<option value="WY">WY</option>
</select>
</div>
<div class="col-xs-3"><input type="text" id="zip" runat="server" class="col-xs-12" placeholder="Zip Code" /></div>
</div>
</div>
<!-- Display Phone -->
<div class="row">
<div class="col-xs-12 col-md-4">Phone Number:</div>
<div class="col-xs-12 col-md-6 col-md-offset-1"><input type="text" id="phone" runat="server" /></div>
</div>
<!-- Display Email -->
<div class="row">
<div class="col-xs-12 col-md-4">Email:</div>
<div class="col-xs-12 col-md-6 col-md-offset-1"><input type="text" id="email" runat="server" /></div>
</div>
<!-- Display TradeShow -->
<div class="row">
<div class="col-xs-12 col-md-4">How did you find us?</div>
<div class="col-xs-12 col-md-6 col-md-offset-1"><input type="text" id="tradeShow" runat="server" /></div>
</div>
<script language="javascript">
function addInput(val) {
var input = document.createElement('input');
input.setAttribute('name', 'QR Code URL');
input.setAttribute('type', 'text');
input.setAttribute('value', val);
document.body.appendChild(input);
//document.write("<input type='hidden' name='QR Code URL3' id='qrCodeUrl3' value=" + window.location.pathname + ">");
//document.write(window.location.pathname);
document.write("<input type='hidden' name='QR Code URL3' id='qrCodeUrl3' value=" + val + ">");
alert("PATH URL:" + val);
}
window.load function {
document.write("<input type='hidden' name='QR Code URL3' id='qrCodeUrl3' value=" + val + ">");
}
addInput(window.location.pathname);
// $('<input>').attr({
// type: 'hidden',
// id: 'foo',
// name: 'bar',
// value: window.location.pathname
// }).appendTo('form');
// $('#qrCodeForm').append('<input type="hidden" name="qrCodeUrl4" value="' + window.location.pathname + '" />');
//'QrUrl.Text = HttpContext.Current.Request.Url.AbsolutePath;
</script>
<!-- Qr Code Stuff -->
<input name="QR Code URL2" id="QrUrl2" value="<asp print path; />" type="hidden">
<!-- Display CAPTCHA -->
<div class="row">
<div class="col-xs-12 col-md-4"><img class="captcha" ></div>
<div class="col-xs-12 col-md-6 col-md-offset-1"><input name="Verification_Code" type="text"></div>
</div>
<!-- Display Submit -->
<div class="row">
<div class="col-xs-12">
<div class="col-xs-10 col-xs-offset-1 col-md-4 col-md-offset-4"><input type="submit" value="Submit for Coupon Code" class="btn btn-lg btn-primary col-xs-12" alt="Submit for Coupon Code"></div>
</div>
</div>
</form>
姓名:
公司名称:
你的地址:
艾尔
AK
阿兹
应收账
加利福尼亚州
一氧化碳
计算机断层扫描
判定元件
直流
佛罗里达州
GA
你好
身份证件
白细胞介素
在里面
IA
KS
基尼
洛杉矶
我
医学博士
文科硕士
医疗保险
锰
太太
卫生官员
机器翻译
氖
内华达州
全日空航空公司
新泽西州
纳米
纽约
数控
钕
哦
好啊
或
帕
RI
联合国安全理事会
SD
总氮
德克萨斯州
美国犹他州
及物动词
弗吉尼亚州
华盛顿州
WV
WI
WY
电话号码:
电邮:
你是怎么找到我们的?
函数附加输入(val){
var input=document.createElement('input');
input.setAttribute('名称','二维码URL');
input.setAttribute('type','text');
input.setAttribute('value',val);
document.body.appendChild(输入);
//文件。填写(“”);
//document.write(窗口、位置、路径名);
文件。填写(“”);
警报(“路径URL:+val”);
}
窗口加载函数{
文件。填写(“”);
}
addInput(window.location.pathname);
//$('').attr({
//键入:“隐藏”,
//id:‘foo’,
//名称:'酒吧',
//值:window.location.pathname
//}).附录('形式');
//$('#qrCodeForm')。附加('');
//'QrUrl.Text=HttpContext.Current.Request.Url.AbsolutePath;
最终站点将运行引导。我所要做的就是创建一个隐藏输入,将当前url(不含域)作为值
再次提前感谢。如果要将隐藏元素附加到
元素,可以通过将其id
属性传递给函数并像以前一样使用函数来引用它:
function addInput(val) {
var input = document.createElement('input');
input.setAttribute('name', 'QR Code URL');
input.setAttribute('type', 'hidden');
input.setAttribute('value', val);
// Append this element to the form
document.getElementById('qrCodeForm').appendChild(input);
}
只需在您的
标记末尾调用:
addInput(window.location.pathname);
你可以:
如果要将隐藏元素附加到
元素,可以通过将其id
属性传递给函数并像以前一样使用函数来引用它:
function addInput(val) {
var input = document.createElement('input');
input.setAttribute('name', 'QR Code URL');
input.setAttribute('type', 'hidden');
input.setAttribute('value', val);
// Append this element to the form
document.getElementById('qrCodeForm').appendChild(input);
}
只需在您的
标记末尾调用:
addInput(window.location.pathname);
你可以:
< P>你不需要张贴这么多代码,考虑。 在代码中,您有:
document.body.appendChild(input);
它会将输入附加到文档中,但不会将其与表单关联。您可以将输入的form属性设置为form ID,也可以将其作为表单的子级追加,以便:
input.setAttribute('form', 'qrCodeForm');
或
或
或类似的
此外,你还有:
document.write("<input type='hidden' name='QR Code URL3' id='qrCodeUrl3' value=" + val + ">");
alert("PATH URL:" + val);
document.write(“”);
警报(“路径URL:+val”);
加载页面后调用document.write将调用document.open,这将清除文档的整个内容(标题和正文),并替换为您传递的内容,因此文档将只包含隐藏的输入元素。不要以这种方式向页面添加元素。 不需要发布这么多代码,请考虑.< /p> 在代码中,您有:
document.body.appendChild(input);
它会将输入附加到文档中,但不会将其与表单关联。您可以将输入的form属性设置为form ID,也可以将其作为表单的子级追加,以便:
input.setAttribute('form', 'qrCodeForm');
或
或
或类似的
此外,你还有:
document.write("<input type='hidden' name='QR Code URL3' id='qrCodeUrl3' value=" + val + ">");
alert("PATH URL:" + val);
document.write(“”);
警报(“路径URL:+val”);
加载页面后调用document.write将调用document.open,这将清除文档的整个内容(标题和正文),并替换为您传递的内容,因此文档将只包含隐藏的输入元素。不要以这种方式向页面添加元素。脚本元素没有语言属性,元素中的HTML注释分隔符几十年来都不需要(如果有的话)。脚本元素没有语言属性,元素中的HTML注释分隔符几十年来都不需要(如果有的话)。“…您可以通过它的id引用它…”不,不要这样做。使用
document.getElementById('qrCodeForm')
或document.forms('qrCodeForm')
或类似的方法。我已经更新了示例。我想我觉得使用id
方法很冒险,因为我几乎只使用getElementById()
函数。为每个ID元素创建窗口的命名属性是IE在第4版前后的一项发明。这从来都不是一个好主意,当IE拥有95%的用户份额时,其他浏览器复制它以实现兼容性。它仍然存在。“…你可以通过它的ID引用它…”不,不要这样做。使用文档.getElementById('q