First of all, sorry for the delay. No, I cannot give you a public URL since the project is still in early development status, but I have traced it down a little more. This behaviour is shown only when you enable AutoPostBack for the DNNTextSuggest control ( AutoPostBack="True" ).
Enabling AutoPostBack might sound something unneeded first but consider the following (using http://webcontrols.dotnetnuke.com/dnntextsuggest.aspx values as sample):
Suppose you want to use brackets as ID tokens, so that Smith becomes Smith [3]; This however is not always true, this only happens if the user CLICKS on the suggested drop down list. If the name the user is inputting is so small, easy and simple as Smith, he/she might not even grab the mouse to click on any value and he/she will just end writing Smith, with all the letters.
When the user enters the text without using the suggestions on the list, there is no call to nodeClick js function and when the user changes from that field to another, Smith will remain Smith (and not Smith [3]; ) unless you set AutoPostBack="True" and you use additional code on the server side. Since there is no call to nodeClick, in the end there is no call to the postback done by eval(this.postBack.replace('[TEXT]', this.getText())); function selectNode (line 293 of dnn.controls.dnntextsuggest.js)
The fact is that if you enable AutoPostBack for the control, when the code reaches RaisePostBackEvent on line 705 of DNNTextSuggest.vb, the execution does not pass the If args.Length > 1 check because the postback is not done through your JS code and eventArgument variable is set to the empty string ("").
What can we do to avoid this situation? Thanks in advance.