从jQuery到JavaScript的转换
我有一个剧本:从jQuery到JavaScript的转换,javascript,jquery,Javascript,Jquery,我有一个剧本: <form id="myform"> <input type="text" value="" id="input1"> <input type="text" value="" id="input2"> <input type="submit" value="submit"> </form> <img id="image" src="http://mydomain.com/empty.gif"
<form id="myform">
<input type="text" value="" id="input1">
<input type="text" value="" id="input2">
<input type="submit" value="submit">
</form>
<img id="image" src="http://mydomain.com/empty.gif" />
<script>
$(document).ready(function () {
$("#myform").submit(function (ev) {
ev.preventDefault();
var val1 = $("#input1").val();
var val1 = $("#input2").val();
$("#image").attr("src", "http://mydomain.com/image?val1="+val1+"&val2="+val2);
});
});
</script>
$(文档).ready(函数(){
$(“#myform”)。提交(功能(ev){
ev.preventDefault();
var val1=$(“#input1”).val();
var val1=$(“#input2”).val();
$(“#图像”).attr(“src”http://mydomain.com/image?val1=“+val1+”&val2=“+val2”);
});
});
如果用JavaScript编写,会是什么样子
<img id="image" src="http://mydomain.com/empty.gif" />
<script>
window.onload = function() { // Not all browsers support DOMContentLoaded
document.getElementById("myform").onsubmit = function() {
var val1 = document.getElementById("input1").value;
var val2 = document.getElementById("input2").value;
document.getElementById("image").src="http://mydomain.com/image?val1="+val1+"&val2="+val2;
return false;
};
};
</script>
您可能想避开这两个值我有点迂腐,但是……jQuery是Javascript,您所编写的是完全有效的Javascript,它恰好依赖于jQuery。您要求的是一个不依赖jQuery的版本。请在提交代码时使用适当的缩进。我认为您犯了一个错误:您声明了两次
val1
。它是Javascript(使用jQuery库引入的一些函数)。jQuery不是一种语言。他不能在标题中加上“plain”吗?你错过了返回false代码>。此外,您正在等待onload
,而不是domcontentload
,等等;-)@Marcel:我已经修复了返回false,DCL不受很多Browsers的支持,我知道,但我只是想吹毛求疵一下,这段代码并不完全等同于OP(并让他知道框架的使用)。但是在IE8中,jQuery会将DOMContentLoaded转换为onload,对于反jQueryzing,否?+1-1因为没有纠正OP的误解。
window.onload = function() {
document.getElementById("myform").onsubmit = function() {
document.getElementById("image").src="http://mydomain.com/image?val1="+this.input1.value+"&val2="+this.input2.value;
return false;
};
};