Enviar formulario sin volver a cargar la página [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Envíe el formulario sin recargar la página 16 respuestas

Tengo una función integrada en JavaScript que quiero que se ejecute después de que se envíe un formulario. Básicamente cambia completamente el aspecto de la página. Pero necesito una variable del cuadro de búsqueda para ir al JavaScript. En este momento, parpadea y restablece lo que estaba allí porque vuelve a cargar la página.

Así que configuré un retorno falso en mi función que evita que lo haga, pero la variable que quiero no se envía a través del formulario. ¿Alguna idea sobre lo que debo hacer para obtenerlo? Está bien que la página se actualice siempre queupdateTable()a función @ funciona y no se restablece al restablecer la página.

<form action="" method="get" onsubmit="return updateTable();">
  <input name="search" type="text">
  <input type="submit" value="Search" >
</form>

Este es elupdateTable función:

function updateTable() { 
  var photoViewer = document.getElementById('photoViewer');
  var photo = document.getElementById('photo1').href;
  var numOfPics = 5;
  var columns = 3; 
  var rows = Math.ceil(numOfPics/columns);
  var content="";
  var count=0;

  content = "<table class='photoViewer' id='photoViewer'>";
  for (r = 0; r < rows; r++) {
    content +="<tr>";
    for (c = 0; c < columns; c++) {
      count++;
      if(count == numOfPics) break; // check if number of cells is equal number of pictures to stop
      content +="<td><a href='"+photo+"' id='photo1'><img class='photo' src='"+photo+"' alt='Photo'></a><p>City View</p></td>";
    }
    content +="</tr>";
  }
  content += "</table>";
  photoViewer.innerHTML = content;
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta