2

I have what seemed to be a simple fix to a problem but after trying a ton of different solutions online nothing seems to work for me.

I have search field that searches a data table every time you type or press enter in the input field, however after I assigned a value to the search box when the page is loaded it wont do the search until after the user either presses enter in the box or types / deletes a letter. I was just trying to find a solution to simulate hitting enter but it didn't seem to work.

Here is my code:

<script type="text/javascript">
       window.onload = (function() {
           document.getElementById('search').value = " <?php echo $search;?>";

       });
</script>

This obviously assigns the value to what my php variable is set to which works fine the text is loaded in the box on page load, it just doesnt perform the search like I said unless the user presses enter in the box OR deletes/adds a letter in the input box.

The search box code is

<input type="text" id="search" aria-controls="DataTables_Table_0" class="text">

Update: This is documentation I found on exactly what I am using http://datatables.net/ref

Joshua Olds
  • 177
  • 3
  • 11

4 Answers4

1

Try this

document.getElementById("formId").submit();
Tom G
  • 3,650
  • 1
  • 20
  • 19
  • For some reason none of this is working. I found this documentation that shows exactly what I am using, perhaps this will clarify exactly what I should use http://datatables.net/ref – Joshua Olds Oct 12 '12 at 20:43
  • Works for me. Why don't you make us a JsFiddle so we can better help – Tom G Oct 12 '12 at 20:48
0

You can call the onchange() event in javascript:

<script type="text/javascript">
   window.onload = (function() {
       document.getElementById('search').value = " <?php echo $search;?>";
       document.getElementById('search').onchange();
   });
</script>

This answer also has an alternative: https://stackoverflow.com/a/3629423/890726

Community
  • 1
  • 1
Laurence
  • 1,673
  • 11
  • 16
0

I assume you have a form, the enter in the textbox will trigger the submit of the form. In javascript you can do this manually like this:

<form id='myform" action="/foo">

document.forms["myform"].submit();
Erwin
  • 4,757
  • 3
  • 31
  • 41
0
       <input type="text" id="fname" onblur="businessFun()">

Please try this and in js buinessFun() do the search actions if you use ajax pass current time as parameter