2011-11-28 56 views
0

我必须修复一些表单验证,但主机页面中没有包含jQuery。我通常会做这样的事情...将jQuery翻译为纯javascript

if ($("#contactNameAdd").val() !== '' || $("#contactPhoneAdd").val() !== '') { 
    $("#contactForm").show() 
}; 

我怎么能重写在正常的js?

+1

它几乎一样,如果jQuery让这人比较懒......这是很简单的......任何JavaScript开发者应该真正了解这种东西.... – ManseUK

回答

1
var name = document.getElementById("contactNameAdd"); 
var phone = document.getElementById("contactPhoneAdd"); 
var form = document.getElementById("contactForm"); 

if(name.value != '' || phone.value != '') { 
    form.style.display = "block"; 
} 
+0

+1不错,清晰... – ManseUK

0
if (document.getElemenById('contactNameAdd').value != '' || document.getElementById('contactPhoneAdd').value != '') { 
    document.getElementById('contactForm').style.display = 'block'; 
} 

试试这个 - 检查2倍的值,然后改变 '联系形式'

1
if (document.getElementById('contactNameAdd').value !== '' || document.getElementById('contactPhoneAdd').value !== '') { 
    document.getElementById('contactForm').style.display = 'block'; 
} 

在普通的JavaScript,您使用document.getElementById('id')获得DOM的将style.display属性基于节点id属性。您使用DOM输入元素上的.value来获取其值。并且您在任何DOM元素上使用.style来设置CSS属性。在这种情况下,“show”的意思是“display:block;”。

0

这应该可以做到。

var contactNameAdd = document.getElementById("contactNameAdd"); 
var contactPhoneAdd = document.getElementById("contactPhoneAdd"); 

if((contactNameAdd !== null && contactNameAdd.value !== '') || (contactPhoneAdd !== null && contactPhoneAdd.value !== '')) 
{ 
    document.getElementById("contactForm").style.display = 'block'; 
} 
+0

getElementById < - 小写'g' – ManseUK

+0

谢谢ManselUK,没有注意到我顶部的输入错误。 – TheGeekYouNeed

+0

我不想编辑你的帖子 - 认为这有点厚脸皮! – ManseUK

0
var contactName = document.getElementById('contactNameAdd'); 
var contactPhone = document.getElementById('contactPhoneAdd'); 
if(contactName.value !== '' || contactPhone.value !== '') { 
    // Different as JQuery, there will be no animation. 
    // I assume you use 'display:none' to hide the form. 
    var form = document.getElementById('contactForm'); 
    form.style.display = 'block'; 
} 
+0

'setProperty()'在IE中不起作用 - > http://www.quirksmode.org/dom/w3c_css.html – ManseUK

+0

感谢提醒。 – pnuts