I'm not sure this is the same issue everyone here is having, but I believe I found the solution to this problem for us.
The distinction seems to be CSS buttons versus image buttons. We use CSS buttons. Apparently, CSS submit buttons don't get a name or id like their image counterparts do. As a result, the submitonce() code doesn't work, since it references an element with the id "btn_submit", which doesn't exist.
Apparently there is a bug that resulted in leaving this capability out. We've confirmed this bug existed in 1.38a and 1.51. We're using 1.51. I don't know the root of this bug, and why it was never enabled. As a result, I don't know if my fix will cause problems that I haven't seen yet. It seems innocuous enough.
reference:
http://www.zen-cart.com/showthread.p...n_image_submit
Our fix was to change the function for zen_image_submit() so that CSS buttons inherit the parameters variable just like the image counterparts do.
In /includes/functions/html_output.php
Line near 268 reads:
if (strtolower(IMAGE_USE_CSS_BUTTONS) == 'yes' && strlen($alt)<30) return zenCssButton($image, $alt, 'submit', $sec_class /*, $parameters = ''*/ );
Remove the comments and the = '' so it reads:
if (strtolower(IMAGE_USE_CSS_BUTTONS) == 'yes' && strlen($alt)<30) return zenCssButton($image, $alt, 'submit', $sec_class , $parameters );
That's it.
Again, I don't know repercussions, but a quick run through our site seems OK. And this issue seems to be fixed, for us at least.