2016-12-21 63 views
-2

我想要显示下面的图像。我想在窗口中显示图像,并且单击图像时,我想在新窗口中运行代码

<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> 
+0

有些地方沿着这篇文章这行代码被忽略了:

回答

1

这听起来像你想,当你点击图像和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>'); 
}; 

这里是一个工作演示的链接:

http://codepen.io/egerrard/pen/gLEVjK

更新:</script>标记是我最初的问题。新方法<\/scr'+'ipt>已经在Microsoft浏览器中测试过,我也更新了codepen。希望这对你有用!

此外,我删除验证器的东西,因为你说没关系。

+0

使用这两个建议允许我单击图像并打开一个新窗口,但提交按钮出现在图像的旁边。它应该出现在邮政编码框的末尾。 –

+0

埃里克G你可以扩展到如上所述将其余代码添加到.write行。谢谢。 –

+0

@EMussey我更新了我的答案。我不完全清楚你的新问题,但希望这个更新的答案将有所帮助。您需要粘贴与HTML不同的脚本。如果你想在这个表单上进行验证(我没有在你当前的代码中的任何地方看到它),你还需要添加验证脚本。 –

0

如果我理解正确,您想在点击图片后运行一段代码?在这种情况下,您想使用onclick属性。

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

goToPage()是用于将s1; s2; s3; s4变量传递到窗口位置的函数。 –

0

您想先隐藏表单元素,然后单击图像时显示它们。您将不得不通过javascript更改元素的.style属性。

// Javascript 
 
function show(){ 
 
    var elem = document.getElementById("form_elements"); 
 
    elem.style.display = "block"; 
 
    
 
    var btn = document.getElementById("btn"); 
 
    btn.style.display = "none"; 
 
} 
 

 
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 ; 
 
}
/* CSS */ 
 
label { 
 
    display: block; 
 
} 
 

 
input { 
 
    width: 200px; 
 
} 
 

 
#form_elements { 
 
    display: none; 
 
    position: fixed; 
 
    top: 50%; 
 
    left: 50%; 
 
    transform: translateX(-50%) translateY(-50%); 
 
    background: #fff; 
 
    border: 1px solid #aaa; 
 
    box-shadow: 0px 0px 20px 0px #000; 
 
    padding: 20px; 
 
    text-align: center; 
 
}
<!-- HTML --> 
 
<form> 
 
    <button onclick="show()" id="btn"> 
 
    &darr; 
 
    Open 
 
    &darr; 
 
    </button> 
 
    <!-- 
 
    OR 
 
    <img src="http://puu.sh/sWGF2/95a272a86e.png" style="height: 30px;" onclick="show()" id="btn"> 
 
    --> 
 
    <div id="form_elements"> 
 
    <h3>Please Enter Your:</h3> 
 

 
    <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" /> 
 
    <br> 
 
    <a href="#" onclick="goToPage(); return false;"><img src="http://gfx.myview.com/MyView/skins/livesample/image/livesample.gif" alt="" border="0" width="120"></a> 
 
    </div> 
 
</form>

相关问题