pot scrie un text peste textul ascuns și dacă textul ascuns este vizibil prin javascript, textul meu se va deplasa direct la text ascuns .. care este

Sunt în curs de dezvoltare un site web pentru o companie și compania dorește ca utilizatorul mai întâi să completeze toate informațiile și el ar trebui să procedeze apoi ...

Pentru asta am făcut o formă cu acest cod:

    <form action="Owners Infoback.php"  onsubmit="return validateForm()"  method="post" name="enquiry" id="" class="form-body-02">
    
  • <div id="nameOfOwnerError" style="visibility:hidden;color:red; display:inline; margin-left:20px;">*</div> <input name="Name_of_owner" type="text" class="textarea-bk-02" id="" value="<?php echo "{$row[0]}";?>" style="border:none; width:330px; margin-left:14px; margin-top:15px; height:20px;"/>
  • <div id="nameOfOwnerCompany" style="visibility:hidden;color:red; display:inline; margin-left:20px;">*</div> <input name="Name_of_company_registered" type="text" class="textarea-bk-02" id="" value="<?php echo "{$row[1]}";?>" style="border:none; width:330px; margin-left:10px; margin-top:13px; height:20px;"/>
  • <div id="nameOfOwnerAddress"style="visibility:hidden;color:red; display:inline; margin-left:20px;">*</div> <input name="Owner_address" type="text" class="textarea-bk-02" id="" value="<?php echo "{$row[2]}";?>" style="border:none; width:330px; height:20px; margin-left:13px; margin-top:13px;"/>
  • <div id="nameOfOwnerEmail" style="visibility:hidden;color:red; display:inline; margin-left:20px;">*</div> <input name="Owner_Email_id" type="text" class="textarea-bk-02" id="" value="<?php echo "{$row[3]}";?>" style="border:none; width:330px; margin-left:13px; margin-top:13px; height:20px;"/>
  • <div id="nameOfOwnerError1" style="visibility:hidden;color:red; display:inline; position:relative"> Name of owner,</div> <div id="nameOfOwnerCompany1" style="visibility:hidden;color:red; display:inline; position:relative"> Name of company,</div> <div id="nameOfOwnerAddress1" style="visibility:hidden;color:red; display:inline; position:relative"> Address,</div> <div id="nameOfOwnerEmail1" style="visibility:hidden;color:red; display:inline; position:relative"> valid Email id</div> <input name="Save" type="submit" class="send-btns-02 right" value="save" style="margin-top:5px;" > <div class="clear"></div>
  </form>

și în partea antetului, am scris JavaScript ca:

     <script>
     function validateForm()
{
var y=true;
var x=document.forms["enquiry"]["Name_of_owner"].value;
if (x==null || x=="")
  {
    document.getElementById("nameOfOwnerError").style.visibility="visible";  
    document.getElementById("nameOfOwnerError1").style.visibility="visible"; 
    y= false;
  }
  else
  { document.getElementById("nameOfOwnerError").style.visibility="hidden";
    document.getElementById("nameOfOwnerError1").style.visibility="hidden";
  }

  x=document.forms["enquiry"]["Name_of_company_registered"].value;
if (x==null || x=="")
  {
      document.getElementById("nameOfOwnerCompany").style.visibility="visible";
      document.getElementById("nameOfOwnerCompany1").style.visibility="visible";
      y= false;
  }
  else
  {document.getElementById("nameOfOwnerCompany").style.visibility="hidden";
   document.getElementById("nameOfOwnerCompany1").style.visibility="hidden";
  }

 x=document.forms["enquiry"]["Owner_address"].value;
if (x==null || x=="")
  {
     document.getElementById("nameOfOwnerAddress").style.visibility="visible";
     document.getElementById("nameOfOwnerAddress1").style.visibility="visible";
    y= false;
  }
   else
  {document.getElementById("nameOfOwnerAddress").style.visibility="hidden";
    document.getElementById("nameOfOwnerAddress1").style.visibility="hidden";
  }

 x=document.forms["enquiry"]["Owner_Email_id"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos=x.length)
  {
  document.getElementById("nameOfOwnerEmail").style.visibility="visible";
  document.getElementById("nameOfOwnerEmail1").style.visibility="visible";
  y= false;
  }
  else
  {document.getElementById("nameOfOwnerEmail").style.visibility="hidden";
    document.getElementById("nameOfOwnerEmail1").style.visibility="hidden";
  }
  return y;
}
</script>

Obțineți ecranul meu (după cum puteți vedea în imagine) după rularea scriptului când sunt completate câmpurile alternative ... Nu se imprimă text roșu continuu, se imprimă și spațiul câmpurilor ascunse ... Cum pot obțineți textul continuu al câmpurilor goale?

Ne pare rău că sunt un utilizator nou, astfel încât imaginea mea nu este vizibilă, dar în imaginea pe care o afișez când completez numai numele proprietarului și adresa. Imprima numele firmei și ID-ul de e-mail valabil în roșu, dar în mijlocul acestora există un spațiu liber de text ascuns de adrese. Cum pot elimina asta?

0
este încă a da eroare ca: - Ne pare rău, dar ca un mecanism de prevenire a spam-urilor, noilor utilizatori nu li se permite să posteze imagini. Câștiga mai mult de 10 reputații pentru a posta imagini.
adăugat autor Neeraj, sursa
Frm java script numai eu sunt văzut .. dacă orice domeniu este gol ... jst umple că .....
adăugat autor Neeraj, sursa
Pentru ca imaginea să funcționeze, pur și simplu nu puneți patru spații la începutul liniei. Ați avut corectă sintaxa, dar introduceți patru spații la începutul unei linii înseamnă "imprimați această linie ca un cod literal", așa că a fost tipărită ca un exemplu de cod și nu a fost procesată ca o imagine Markdown.
adăugat autor apsillers, sursa
Vă rugăm să puneți un exemplu pe jsfiddle.net , astfel încât alții să poată juca cu el
adăugat autor Alexander Pavlov, sursa
De ce folosești PHP în timp ce validiști formularul cu javascript?
adăugat autor Katti, sursa

2 răspunsuri

În loc de a folosi

.style.visibility="visible"; 

utilizare

.style.display = ''; 

si pentru

.style.visibility="hidden"; 

utilizare

.style.display = 'none'; 
2
adăugat
Nu vă cer să modificați în html-ul dvs. Vă cer această modificare în metoda javascript, ca și pentru document.getElementById ("nameOfOwnerError"). Style.visibility & zwnj; = "visible"; utilizați document.getElementById ("nameOfOwnerError"). style.display = 'inline'; și pentru utilizarea ascunsă: document.getElementById ("nameOfOwnerError") style.display = 'none';
adăugat autor Imran Balouch, sursa
afișare: niciuna din proprietăți nu va face div ascunsă.
adăugat autor Imran Balouch, sursa
în formularul de cod, eliminați proprietatea de vizibilitate de la etichetele div și utilizați în schimb proprietatea de afișare, iar în JavaScript folosiți proprietatea de afișare pentru a afișa și ascunde.
adăugat autor Imran Balouch, sursa
care a fost eroarea? Vă rog să spuneți?
adăugat autor Imran Balouch, sursa
Eu sunt deja folosind afișare: inline, nu pot folosi că de două ori ... o altă soluție ..?
adăugat autor Neeraj, sursa
am schimbat tag-ul div inițial ca: - <div id = "nameOfOwnerError1" style = "display: none; color: red; position: relative"> Numele proprietarului, </div> ascuns..??
adăugat autor Neeraj, sursa
nu se ascunde ..... am scris codul meu de mai sus .... dacă există vreo greșeală în asta .. plzz spune-mi ... ??
adăugat autor Neeraj, sursa
multumesc foarte mult pentru ajutor ... am primit eroarea mea ...
adăugat autor Neeraj, sursa

Here's the jsfiddle for you. http://jsfiddle.net/rakesh_katti/cLjAN/

Doar verificați dacă aceasta este ieșirea dorită.

Ați plasat greșit scriptul PHP în atributul value al fiecărei etichete de intrare. Și granița dvs.: nici una nu face ca granița intrării să dispară. Am corectat asta. Și presupun că u au folosit un div pentru a obține doar un roșu * în spatele fiecărei intrări pentru a semnifica că este un câmp obligatoriu.

M-am înșelat?

0
adăugat
JavaScript, România - Moldova
JavaScript, România - Moldova
328 participanți

Comunitatea Română JavaScript: github.com/js-ro Pentru confort, opriți notificările. Parteneri: @node_ro, @php_ro, @python_ro, @seo_ro, @RomaniaGroup, @ai_ro, @Grupuri_IT Offtop: @holywars_ro Joburi: @js_jobs_ro Sponsored with ❤️ by ciupacabra.com