J'ai une balise div que je ne veux changer que si une fonction retourne vrai, sinon je veux qu'elle garde le même contenu. J'ai utilisé render: nothing => true
mais cela supprime tout.Rails keep if false, render if true
<%= javascript_include_tag :defaults %>
<div id="x">Hi</div>
<% form_remote_tag :url => {:action => 'get'},
:update => 'x' do %>
<%= text_field_tag 'url' %>
<%= submit_tag "Submit" %>
<% end %>
def getImage
@img = params[:url]
if !verify @img
render :nothing => true
end
end
private
def verify url
return true if url =~ /https?:\/\/.*\.(jpg|png|gif|bmp)$/
return false
end
Je veux faire mon code de rails le font
var lastrequest = "";
function ajaxObj() { //Returns the ajax object based on browser
if (window.XMLHttpRequest) {
return new XMLHttpRequest(); //Firefox
} else if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP"); //IE
}
}
window.onload = function() {
document.getElementById("Submit").onclick = function() {
var request = ajaxObj();
request.onreadystatechange = function() {
if (request.readyState == 4) {
document.getElementById("imgdisplay").innerHTML = request.responseText;
document.getElementById("imgurl").value = "";
}
}
if (lastrequest != document.getElementById("imgurl").value) { // Makes sure it doesn't request the same image twice
var parameters = "url=" + document.getElementById("imgurl").value;
request.open("POST", "imageget.php", true); // Sends the ajax request
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", parameters.length);
request.setRequestHeader("Connection", "close");
request.send(parameters);
lastrequest = document.getElementById("imgurl").value;
}
}
}
C'était vraiment proche, mais il le fait toujours vide s'il échoue. – deuces