Ah, you are not using anchor links here. You are creating a form that gets to an external site, which is a little different.
My Firefox didn't complain about your site having mixed content on the page itself (as it doens't).
When I tried to post that search form, however, it told me I was sending the request to an insecure (i.e., http) site. This is likely because the browser is looking at the actual content of the page, where you have filled in "
http://wikipedia.whatever", and it sees http there. It is not taking into account the JS magic you have swapping out the form's action attribute before the submit actually occurs.
Therefore, I wager if you put "
https://example.com/" or anything that looks secure in the action attribute, that notice will go away.
As I understand things, browsers warn about this specifically because forms tend to send data, and so the user is presumably more likely to want to know if they are sending data to an insecure site; this is as opposed to a link, which users usually expect to possibly go somewhere external and I assume that showing those kinds of warnings on ordinary links was going too far (i.e., would happen all the time and be annoying) in terms of warning users.
If you really want to get around this, you may be able to just programatically open a new tab using Javascript at the URL you have rather than using a form to send a get reqeust.
(Edit: I'll check around on Chrome and see if it complains about mixed content)