Javascript 我想在窗口中显示图像,当单击图像时,我想在新窗口中运行代码

Javascript 我想在窗口中显示图像,当单击图像时,我想在新窗口中运行代码,javascript,html,Javascript,Html,我想显示下面的图像 <img src="http://gfx.myview.com/MyView/skins/livesample/image/livesample.gif" alt="" border="0"><a/> 当点击图像时,它应该运行下面的代码。我如何正确地编写代码,以便只显示图像,单击时,它将运行下面的其余代码以打开表单 <script type="text/javascript"> function goToPage() { va

我想显示下面的图像

<img src="http://gfx.myview.com/MyView/skins/livesample/image/livesample.gif" alt="" border="0"><a/>

当点击图像时,它应该运行下面的代码。我如何正确地编写代码,以便只显示图像,单击时,它将运行下面的其余代码以打开表单

<script type="text/javascript">
function goToPage() {
    var s1 = document.getElementById('s1').value;
    var s2 = document.getElementById('s2').value;
    var s3 = document.getElementById('s3').value;
var s4 = document.getElementById('s4').value;

    window.location = "http://igaintrk.com/?E=BjcJU6NSsab3xCmBOyZgJw%3d%3d&s1=" + s1 + "&s2=" + s2 + "&s3=" + s3 + "&s4=" + s4 ;
}
</script>

Please Enter Your

<label for="s2">First Name:</label>
<input type="text" id="s2" />

<label for="s3">Last Name:</label>
<input type="text" id="s3" />

<label for="s1">E-mail:</label>
<input type="text" id="s1" />

<label for="s4">Zipcode:</label>
<input type="number" id="s4" />

<a href="JavaScript:goTOPage()"><img src="http://gfx.myview.com/MyView/skins/livesample/image/livesample.gif" alt="" border="0"><a/>

<script  type="text/javascript">
var frmvalidator = new Validator("myform");
frmvalidator.addValidation("FirstName","req","Please enter your First Name");
frmvalidator.addValidation("FirstName","maxlen=20",
     "Max length for FirstName is 20");

frmvalidator.addValidation("LastName","req");
frmvalidator.addValidation("LastName","maxlen=20");

frmvalidator.addValidation("Email","maxlen=50");
frmvalidator.addValidation("Email","req");
frmvalidator.addValidation("Email","email");

frmvalidator.addValidation("Zipcode","maxlen=5");
frmvalidator.addValidation("Zipcode","req");


</script> 

函数goToPage(){
var s1=document.getElementById('s1')。值;
var s2=document.getElementById('s2')。值;
var s3=document.getElementById('s3')。值;
var s4=document.getElementById('s4')。值;
window.location=”http://igaintrk.com/?E=BjcJU6NSsab3xCmBOyZgJw%3d%3d&s1=“+s1+”&s2=“+s2+”&s3=“+s3+”&s4=“+s4;
}
请输入您的
名字:
姓氏:
电邮:
Zipcode:
var frmvalidator=新验证器(“myform”);
frmvalidator.addValidation(“FirstName”、“req”、“请输入您的名字”);
frmvalidator.addValidation(“FirstName”,“maxlen=20”,
“名字的最大长度为20”);
frmvalidator.addValidation(“LastName”、“req”);
frmvalidator.addValidation(“LastName”,“maxlen=20”);
frmvalidator.addValidation(“电子邮件”,“maxlen=50”);
frmvalidator.addValidation(“电子邮件”、“请求”);
frmvalidator.addValidation(“电子邮件”、“电子邮件”);
frmvalidator.addValidation(“Zipcode”,“maxlen=5”);
frmvalidator.addValidation(“Zipcode”、“req”);

如果我理解正确,您想在单击图像后运行一段代码吗?在这种情况下,您需要使用
onclick
属性

<img src="IMAGE_URL" alt="" border="0" onclick="goToPage()" />

首先要隐藏表单元素,然后在单击图像时显示它们。您必须通过javascript更改元素的.style属性

//Javascript
函数show(){
var elem=document.getElementById(“表单元素”);
elem.style.display=“块”;
var btn=document.getElementById(“btn”);
btn.style.display=“无”;
}
函数goToPage(){
var s1=document.getElementById('s1')。值;
var s2=document.getElementById('s2')。值;
var s3=document.getElementById('s3')。值;
var s4=document.getElementById('s4')。值;
window.location=”http://igaintrk.com/?E=BjcJU6NSsab3xCmBOyZgJw%3d%3d&s1=“+s1+”&s2=“+s2+”&s3=“+s3+”&s4=“+s4;
}
/*CSS*/
标签{
显示:块;
}
输入{
宽度:200px;
}
#表单元素{
显示:无;
位置:固定;
最高:50%;
左:50%;
转化:translateX(-50%)translateY(-50%);
背景:#fff;
边框:1px实心#aaa;
盒影:0px 0px 20px 0px#000;
填充:20px;
文本对齐:居中;
}

&达尔;
打开
&达尔;
请输入您的姓名:
名字:
姓氏:
电邮:
Zipcode:


当您单击图像并将html和JavaScript传递到新窗口时,听起来您希望打开一个新窗口

要实现这一点,您需要向图像添加一个单击操作,如下所示:

<img src="http://gfx.myview.com/MyView/skins/livesample/image/livesample.gif" onclick="openNewPage()">

然后创建一个函数,打开一个新页面,并使用如下内容转储html:

var goToPage2 = function() {
  var w=window.open();
  w.document.write('Please Enter Your<br /><label for="s2">First Name</label><input type="text" id="s2" /><label for="s3">Last Name:</label><input type="text" id="s3" /><label for="s1">E-mail:</label><input type="text" id="s1" /><label for="s4">Zipcode:</label><input type="number" id="s4" /><a href="JavaScript:goToPage()"><img src="http://gfx.myview.com/MyView/skins/livesample/image/livesample.gif" alt="" border="0"><a/><scr'+'ipt type="text/javascript">function goToPage() {    var s1 = document.getElementById("s1").value;    var s2 = document.getElementById("s2").value;    var s3 = document.getElementById("s3").value; var s4 = document.getElementById("s4").value; window.location = "http://igaintrk.com/?E=BjcJU6NSsab3xCmBOyZgJw%3d%3d&s1=" + s1 + "&s2=" + s2 + "&s3=" + s3 + "&s4=" + s4 ;}<\/scr'+'ipt>');
};
var goToPage2=函数(){
var w=window.open();
w、 document.write('请输入您的名字姓氏:电子邮件:Zipcode:

更新:
标记是我最初使用的方法的问题。新方法
已经在Microsoft浏览器中进行了测试,我也更新了codepen。希望这对你有用


此外,我还删除了验证程序的内容,因为您说这无关紧要。

使用这两个建议,我可以单击图像并打开一个新窗口,但提交按钮会出现在图像旁边。它应该出现在邮政编码框的末尾。Eric G您能否按照您所说的将其余代码添加到.write行ve.谢谢。@EMussey我更新了我的答案。我还不完全清楚你的新问题,但希望这个更新的答案会有所帮助。你需要将脚本与html分开粘贴。如果你想在此表单上进行验证,你还需要添加验证脚本(我在你当前的代码中没有看到它被引用)。我跟踪了您发布的链接,但当您单击该图像时,它只会打开一个空白页。我可以通过电子邮件向您发送代码,让您查看,或者告诉我或演示如何修复它吗?它在Chrome中对我有效。此链接可能会回答为什么它对您无效:。goToPage()是用于将s1;s2;s3;s4变量传递到窗口位置的函数。在本文的某些地方,这行代码被忽略了: