2013-06-28 37 views
1

从这:的JavaScript(Greasekit)点击单选按钮,复选框,并提交表单

<div class="form-radio form-component"> 
    <fieldset> 
     <legend>Where would you like your ad to appear?<span class="error"></span> 
     </legend> 
     <div class="form-radio-options"> 
      <div class="radio-option"> 
       <input type="radio" id="bump-up-ad_bumpUp_1" name="bumpUp" value="false" /> 
       <label for="bump-up-ad_bumpUp_1">FREE - Keep it where it is</label> 
      </div> 
      <div class="radio-option"> 
       <input type="radio" id="bump-up-ad_bumpUp_2" name="bumpUp" value="true" /> 
       <label for="bump-up-ad_bumpUp_2">&pound;1.53 - Bump my ad to the top of the listings</label> 
      </div> 
     </div> 
    </fieldset> 
</div> 

我只是希望它能够自动选择对应的单选按钮“FREE - 妥善保管,以便它是”,然后我希望它点击这个按钮发送表单:

<div class="form-component form-submit"> 
    <input id="bump-up-ad_submit-new-advert-data" name="confirm" type="submit" class="button" value="Update my ad"> 
</div> 
<div class="form-component form-submit"> 

回答

1
document.getElementById('bump-up-ad_bumpUp_1').checked = true; 
document.getElementById('bump-up-ad_submit-new-advert-data').click(); 

如果你的浏览器不支持.click(),我们要模拟点击,而不是:

function fireEvent(obj, evt) { 
    var fireOnThis = obj; 
    if(document.createEvent) { 
     var evObj = document.createEvent('MouseEvents'); 
     evObj.initEvent(evt, true, false); 
     fireOnThis.dispatchEvent(evObj); 
    } else if(document.createEventObject) { 
     fireOnThis.fireEvent('on'+evt); 
    } 
} 
document.getElementById('bump-up-ad_bumpUp_1').checked = true; 
fireEvent(document.getElementById('bump-up-ad_submit-new-advert-data'), 'click'); 
相关问题