Bug #1866 ยป bootstrap_nojs_anchor_fix_20130530a.diff
src/Wt/WPushButton | ||
---|---|---|
virtual void propagateRenderOk(bool deep);
|
||
virtual void getDomChanges(std::vector<DomElement *>& result,
|
||
WApplication *app);
|
||
virtual void enableAjax();
|
||
private:
|
||
void doRedirect();
|
src/Wt/WPushButton.C | ||
---|---|---|
WFormWidget::refresh();
|
||
}
|
||
void WPushButton::enableAjax()
|
||
{
|
||
if (!linkState_.link.isNull()) {
|
||
WApplication *app = WApplication::instance();
|
||
if (app->theme()->canStyleAnchorAsButton()) {
|
||
flags_.set(BIT_LINK_CHANGED);
|
||
}
|
||
}
|
||
WFormWidget::enableAjax();
|
||
}
|
||
}
|
src/web/DomElement.C | ||
---|---|---|
#include "Wt/WEnvironment"
|
||
#include "Wt/WException"
|
||
#include "Wt/WStringStream"
|
||
#include "Wt/WTheme"
|
||
#include "DomElement.h"
|
||
#include "WebUtils.h"
|
||
... | ... | |
app->environment().agent() == WEnvironment::IE8 ||
|
||
href.length() > 1)
|
||
needButtonWrap = false;
|
||
else if (app->theme()->canStyleAnchorAsButton()) {
|
||
DomElement *self = const_cast<DomElement *>(this);
|
||
self->setAttribute("href", app->url(app->internalPath())
|
||
+ "&signal=" + clickEvent->second.signalName);
|
||
needButtonWrap = false;
|
||
}
|
||
} else if (type_ == DomElement_AREA) {
|
||
DomElement *self = const_cast<DomElement *>(this);
|
||
self->setAttribute("href", app->url(app->internalPath())
|
src/web/skeleton/Wt.js | ||
---|---|---|
if (e.getAttribute('type') == 'submit') {
|
||
e.setAttribute('type', 'button');
|
||
e.removeAttribute('name');
|
||
} else if (WT.hasTag(e, 'A') && e.href.indexOf('&signal=')) {
|
||
e.href = 'javascript:void(0)';
|
||
} if (WT.hasTag(e, 'INPUT') && e.getAttribute('type') == 'image') {
|
||
WT.changeTag(e, 'img');
|
||
}
|