adeibiza
06-15-2007, 12:12 PM
my search of a mysql database is getMarks(blah.php?name=whateverthemarkernameis)
so far ive got to this
<form method="get" onsubmit="getMarks(); return false">
<input type="text" name="marks.php?name=" id="name" value="clubs" />
<input align="left" type="submit" value="" /> </form>
which outputs
www.blah.com/?marks.php%3Fname%3D=whatever_was_typed#
the output i need is
www.blah.com/marks.php?name=whatever_was_typed
ive tried varing combinations but am getting nowhere
thanks to anyone who can help :)
A1ien51
06-15-2007, 01:58 PM
Your form is wrong
<form method="get" action="marks.php" onsubmit="getMarks(); return false">
<input type="text" name="name" id="name" value="clubs" />
<input align="left" type="submit" value="submit" name="btnSubmit"/> </form>
adeibiza
06-18-2007, 04:55 PM
that doesnt work :(
the form i'm using in a menu system is this:
<input type="button" value="Bars" onclick='getMarks("marks.php?name=bars")'; action="get" class=mapbutton>
which works great - but obviously i start with a known variable
but this:
<form method="get" action="marks.php?" onsubmit="getMarks()">
<input type="text" name="marks.php?name" id="name" value="seach" />
<input align="left" type="submit" value="submit" /></form>
works but doesnt invoke the getMarks function and just returns the result of the db query
glenngv
06-18-2007, 05:06 PM
Post the code for getMarks().
adeibiza
06-18-2007, 05:15 PM
you sure! ? :)
ok
function getMarks(url) {
var bounds = new GLatLngBounds();
var request = GXmlHttp.create();
request.open("GET", url, true);
request.onreadystatechange = function() {
if (request.readyState == 4) {
var xmlDoc = request.responseXML;
var markers = xmlDoc.documentElement.getElementsByTagName("marker");
map.getInfoWindow().hide();
map.clearOverlays();
gmarkers = [];
side_bar_html="";
for (var loop1=0;loop1<markers.length;loop1++){
var lat = parseFloat(markers[loop1].getAttribute("lat"));
var lng = parseFloat(markers[loop1].getAttribute("lng"));
var point = new GLatLng(lat,lng);
*snip*
what getmarks does is grab the xml thats created by the marks.php file
ie from this in the php file
$query = "SELECT lat, lng, html, label, icontype FROM blah WHERE icontype='" . $_GET['name'] . "' OR town='" . $_GET['name'] . "'";
i then use this to create the xml
echo "<markers>";
while ($row=mysql_fetch_assoc($query)){
echo '<marker lat="'.$row['lat'].'" lng="'.$row['lng'].'" html="'.parseToXML($row['html']).'" label="'.$row['label'].'" icontype="'. $row['icontype'].'"/>';
}
echo "</markers>";
if this makes sense :)
glenngv
06-18-2007, 05:28 PM
You need to return false to the onsubmit handler since you are not doing a normal form submission; you are doing an AJAX request. If Javascript is disabled or not supported, the form will be submitted normally and will output XML to the browser.
<form method="get" action="marks.php" onsubmit="getMarks(this.action+'?name='+escape(this.name.value)); return false;">
<input type="text" name="name" value="" />
<input type="submit" value="submit" name="btnSubmit" />
</form>
adeibiza
06-18-2007, 06:01 PM
top man - ive been trying to sort this out for a few days
thanks :)