Jump to content

[SOLVED] get div to disappear (onclick)


xdanryan

Recommended Posts

I'm relatively new to Javascript/AJAX but I have some decent experience in PHP.

 

What I have been successful at doing is creating a text input that queries a database and narrows down options (basically a simple suggestion). The 'suggestions' are displayed in the div known as "txtHint". When I mouseOver the suggestions, they are auto filled in my text input which is great. What I'm trying to do is get the "txtHint" div to disappear onClick- basically getting rid of the 'suggestions' when I click one.

 

If possible, I'd also prefer a solution that would have the div "txtHint" come back when i add to the text input. I'm assuming if I can get the clear function to work that this would happen anyway.

 

Here's my html code:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script src="test.js"></script>
</head>

<body>

<form>
<input id="users" type="text" onkeyup="showUser(this.value)">
</form>
<p>
<div id="txtHint">
</div></p>

</body>
</html>

test.js code (just the clear function)


function clear()
{
   
   document.getElementById("txtHint").value = 'none';
}

 

php code: (random stuff edited out)


//populate table
while($row = mssql_fetch_array($result))
{
   echo "<tr><td><a href=\"#\" onmouseover=\"populate('" . $row["CODE"] . "');\" onclick=\"clear();\">" . $row["CODE"] . "</a></td></tr>";
}

 

 

I've tried a TON of different methods that i found searching google but nothing seems to be working.

Link to comment
Share on other sites

The only code I know to remove a div is

document.getElementById("divName").style.display = 'none';

 

You could try something like this:

function hide(obj) {
   obj.style.display = 'none';
}

 

//populate table
while($row = mssql_fetch_array($result))
{
   echo "<tr><td><a href=\"#\" onmouseover=\"populate('" . $row["CODE"] . "');\" onclick=\"clear();hide(this);\">" . $row["CODE"] . "</a></td></tr>";
}

I'm not sure if that is exactly what you are looking for or not.

Link to comment
Share on other sites

Yeah, I already tried that with no luck =\

Ok, instead of the clear function why don't you try the following:

function clear() {   
   document.getElementById("txtHint").innerHTML = ' ';
}

That will remove everything within the div and replace with the  .  Then you techinically don't have to hide the div, as it would only display as follows:

<p>
<div id="txtHint"> </div>
</p>

Link to comment
Share on other sites

Still no luck with either. I click the link on the table and nothing happens. My mouseover works fine though. Am I screwing something up? The compiled php looks completely fine:

 

onclick = "clear();"

 

test.js

function clear()
{
   document.getElementById("txtHint").innerHTML = ' ';
}

 

ajax.php

//populate table
while($row = mssql_fetch_array($result))
{
echo "<tr><td><a href=\"#\" onmouseover=\"populate('" . $row["CODE"] . "');\" onclick=\"clear();\">" . $row["CODE"] . "</a></td></tr>";
}

 

ajax.html

<html>
<head>
<script src="test.js"></script>
</head>

<body>

<form>
<input id="users" type="text" onkeyup="showUser(this.value)">
</form>
<p>
<div id="txtHint" name="txtHint">
</div></p>

</body>
</html>

 

 

Link to comment
Share on other sites

one of the compiled lines of php:

 

<tr><td><a href="#" onmouseover="populate('KRC13110021');" onclick="clear();">

try this instead, just in case:

//populate table
while($row = mssql_fetch_array($result))
{
echo "<tr><td><a href=\"#\" onmouseover=\"populate('" . $row["CODE"] . "');\" onclick=\"javascript:clear();\">" . $row["CODE"] . "</a></td></tr>";
}

Link to comment
Share on other sites

one of the compiled lines of php:

 

<tr><td><a href="#" onmouseover="populate('KRC13110021');" onclick="clear();">

try this instead, just in case:

//populate table
while($row = mssql_fetch_array($result))
{
echo "<tr><td><a href=\"#\" onmouseover=\"populate('" . $row["CODE"] . "');\" onclick=\"javascript:clear();\">" . $row["CODE"] . "</a></td></tr>";
}

 

no luck :(

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.